Java 在maven项目中将war部署到glassfish服务器后未触发Quartz作业
在Java 在maven项目中将war部署到glassfish服务器后未触发Quartz作业,java,maven,quartz-scheduler,scheduler,Java,Maven,Quartz Scheduler,Scheduler,在web.xml中,我添加了侦听器,并在其上下文中编写了: JobDetail jd = new JobDetail("myjob", Scheduler.DEFAULT_GROUP, Myclasstobe triggered.class); CronTrigger tr = new CronTrigger("myCronTrigger", Scheduler.DEFAULT_GROUP, "0 00 12 ? * MON-FRI"); scheduler.scheduleJob(jd, t
web.xm
l中,我添加了侦听器,并在其上下文中编写了:
JobDetail jd = new JobDetail("myjob", Scheduler.DEFAULT_GROUP, Myclasstobe triggered.class); CronTrigger tr = new CronTrigger("myCronTrigger", Scheduler.DEFAULT_GROUP, "0 00 12 ? * MON-FRI");
scheduler.scheduleJob(jd, tr);
在
myclasstobetrigged
中,我已经重写了执行方法,在该方法中我的任务被写入要完成的任务。GlassFish支持EJB3.1,而EJB3.1已经完成。因此,如果您部署在JavaEE6容器上,我建议使用标准工具
@Singleton
public class TimerService {
@EJB
HelloService helloService;
@Schedule(second="*/1", minute="*",hour="*", persistent=false)
public void doWork(){
System.out.println("timer: " + helloService.sayHello());
}
}
()
另外,请看一下。这可能会有帮助。您的WAR如何配置以设置此作业和触发器?GlassFish不支持现成的Quartz。部署war调度程序后,会创建上下文(我可以在logger中看到),但不会调用实现作业的类的Override execute方法,而我的作业位于该方法内。GlassFish不支持Quartz开箱即用意味着我必须使用另一个调度程序来完成此任务或其他任何事情?