Java 使用Jersey创建计划的后台任务
我有一个使用Jersey的RESTfulWeb服务,我需要创建一个后台任务来执行一些操作(调用DB等)。 我找到了一些使用ServletContextListener的示例,它很有效Java 使用Jersey创建计划的后台任务,java,servlets,jersey,jersey-2.0,java-ee-6,Java,Servlets,Jersey,Jersey 2.0,Java Ee 6,我有一个使用Jersey的RESTfulWeb服务,我需要创建一个后台任务来执行一些操作(调用DB等)。 我找到了一些使用ServletContextListener的示例,它很有效 public class Scheduler implements ServletContextListener { private ScheduledExecutorService scheduler; @Inject private MyDBService service; //doesn't work
public class Scheduler implements ServletContextListener {
private ScheduledExecutorService scheduler;
@Inject
private MyDBService service; //doesn't work
@Override
public void contextInitialized(ServletContextEvent event) {
scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
//want to use service here
}
}, 0, 5, TimeUnit.SECONDS);
}
@Override
public void contextDestroyed(ServletContextEvent event) {
scheduler.shutdownNow();
}}
但我还需要在这里@injection一些服务,看起来这里不起作用。
我还发现了一些EJB示例,但我不能在这里使用它