java - Job scheduler not invoke -
jobdetail job = new jobdetail(); job.setname("dummyj"); job.setjobclass(notificationcreater.class); simpletrigger trigger = new simpletrigger(); trigger.setname("mn"); trigger.setstarttime(new date(system.currenttimemillis() + 1000)); trigger.setrepeatcount(simpletrigger.repeat_indefinitely); trigger.setrepeatinterval(30000); scheduler scheduler = new stdschedulerfactory().getscheduler(); scheduler.start(); scheduler.schedulejob(job, trigger); i using above code schedule activity in notificationcreater.class error message
error:-unable store job name: 'dummyj' , group: 'default', because 1 exists identification.
if using servlets, , want run job on application startup, guess how should proceed achieve.
the job class
public class dummyjob{ public dummyjob() throws parseexception, schedulerexception { jobdetail job = new jobdetail(); job.setname("dummyj"); job.setjobclass(notificationcreater.class); simpletrigger trigger = new simpletrigger(); trigger.setname("mn"); trigger.setstarttime(new date(system.currenttimemillis() + 1000)); trigger.setrepeatcount(simpletrigger.repeat_indefinitely); trigger.setrepeatinterval(30000); scheduler scheduler = new stdschedulerfactory().getscheduler(); scheduler.start(); scheduler.schedulejob(job, trigger); } } the servlet
public class jobinitializerservlet extends httpservlet { /** * */ private static final long serialversionuid = 5102955939315248840l; /** * application logger log info, debug, error messages. */ private static final logger app_logger = logger.getlogger("applogger"); /** * @see servlet#init(servletconfig) initializes dummyjob */ public void init(servletconfig config) throws servletexception { try { dummyjob scheduler = new dummyjob(); } catch (java.text.parseexception e) { app_logger.error(e.getlocalizedmessage(), e); } catch (schedulerexception e) { app_logger.error(e.getlocalizedmessage(), e); } } }
and servlet mapping
<servlet> <description> </description> <display-name>jobinitializerservlet</display-name> <servlet-name>jobinitializerservlet</servlet-name> <servlet-class>com.job.servlet.jobinitializerservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> this initiate job deploy or start application. hope helps.
Comments
Post a Comment