繁体   English   中英

在Tomcat 6中自动化Quartz计划作业

[英]Automating Quartz Scheduled Job in Tomcat 6

我可以使用Quartz 2 Scheduler来计划Java中的程序。 每当Apache服务器启动时,我都需要启动该调度程序。 怎么做?

有几种方法可以做到这一点。 您可以仅使用带有静态初始化程序块的纯Java类来初始化Quartz计时器。 如果要以JavaEE方式进行操作,则可以使用EJB3.x或Servlet。

使用EJB3.x Singleton-的示例

import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;

@Startup
@Singleton
public class QuartzTimerBean{
    @PostConstruct
    public void init() {
            ...
            // Start Quartz timer here
            ...
    }

    @PreDestroy
    public void cleanup(){
            ...
            // Clean up Quartz timer
            ...
    }
}

使用ServletContextListener的示例

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class QuartzTimerListener implements ServletContextListener{

@Override
public void contextInitialized(ServletContextEvent arg0) {
            ...
            // Start Quartz timer here
            ...
}

@Override
public void contextDestroyed(ServletContextEvent arg0) {
            ...
            // Clean up Quartz timer
            ...
}
}

web.xml中

<web-app ...>
   <listener>
       <listener-class><fully qualified path>.QuartzTimerListener</listener-class>
   </listener>
</web-app>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM