QuartzScheduler on Tomcat: "Group name cannot be empty"
empinator Feb 28, 2010 6:11 PMHi,
I'm trying to get the Quartz Scheduler in my Seam Application working.
Whenever I boot the application and it's trying to initialize the TriggerHandle I get the exception Group Name cannot be empty
.
I have no idea what I am doing wrong.
I would appreciate any hints
- quartz.jar is included in WEB-INF/lib (Version 1.4.3)
-
async:quartz-dispatcher
tag is in my components.xml -
seam.quartz.properties
is under WEB-INF/classes - running Seam 2.2.0.GA on Tomcat 6.0.
This is my code
@Name("controller") @AutoCreate @Scope(ScopeType.APPLICATION) public class ScheduleController implements Serializable { @In private SchedulerProcessor processor; @Logger private Log log; private QuartzTriggerHandle quartzTestTriggerHandle; private static String CRON_INTERVAL = "0 * * * * ?"; @Observer("org.jboss.seam.postInitialization") public void scheduleTimer() { log.info("Creating Cronjob"); quartzTestTriggerHandle = processor.createQuartzTestTimer(new Date(), CRON_INTERVAL); } } @Name("processor") @AutoCreate @Scope(ScopeType.APPLICATION) public class SchedulerProcessor { @Asynchronous @Transactional public QuartzTriggerHandle createQuartzTestTimer(@Expiration Date when, @IntervalCron String interval) { triggerStatusmail(); return null; } ... }
The Exception:
28.02.2010 17:58:04 org.apache.catalina.core.StandardContext listenerStart SCHWERWIEGEND: Exception sending context initialized event to listener instance of class org.jboss.seam.servlet.SeamListener java.lang.IllegalArgumentException: Group name cannot be empty. at org.quartz.JobDetail.setGroup(JobDetail.java:196) at org.quartz.JobDetail.\<init\>(JobDetail.java:122) at org.jboss.seam.async.QuartzDispatcher.scheduleWithQuartzService(QuartzDispatcher.java:132) at org.jboss.seam.async.QuartzDispatcher.scheduleWithQuartzServiceAndWrapExceptions(QuartzDispatcher.java:115) at org.jboss.seam.async.QuartzDispatcher.scheduleInvocation(QuartzDispatcher.java:101) at org.jboss.seam.async.QuartzDispatcher.scheduleInvocation(QuartzDispatcher.java:44) at org.jboss.seam.async.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:40) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) at de.bla.scheduler.SchedulerProcessor_$$_javassist_seam_2.createQuartzTestTimer(SchedulerProcessor_$$_javassist_seam_2.java) at de.bla.scheduler.ScheduleController.scheduleTimer(ScheduleController.java:40) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ...
Thanks
empi