java - 在 Maven 项目中将 war 部署到 glassfish 服务器后,Quartz 作业未触发

标签 java maven quartz-scheduler scheduler

web.xml 中,我添加了监听器,并在其 contextInitialized 中编写了:

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); 

并且在Myclasstobetriggered中,我重写了编写要完成的任务的执行方法。

最佳答案

GlassFish 支持 EJB 3.1,其中 @Schedule 。因此,如果您在 Java EE 6 容器上部署,我建议使用标准工具。

@Singleton
public class TimerService {
    @EJB
    HelloService helloService;

    @Schedule(second="*/1", minute="*",hour="*", persistent=false)
    public void doWork(){
        System.out.println("timer: " + helloService.sayHello());
    }
}

( copied from Adam Bien )

另请查看Java EE 6 Tutorial .

关于java - 在 Maven 项目中将 war 部署到 glassfish 服务器后,Quartz 作业未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13155267/

相关文章:

java - 运行 java jar 命令时找不到 log4j 属性文件

java - 如何覆盖 quartz 的属性值

Java 将对象传递给 Quartzjob ( Quartz 2 )

java - 编写每小时执行一次的java代码(quartz)

java - 使用 Java 将 Java 对象插入 MongoDB 集合

java - 使用 byte、short 和 char 毫无意义

maven - maven.elasticsearch.org返回404

java - 如何使用 when()... 解决此 Mockito MissingMethodInitationException?

java - 如何在端口为 0 时查找动态分配的 JMX 端口

eclipse - 非多项目环境的 Gradle 依赖项