我正在开发一个 Java EE Web 应用程序。我使用 @WebListener 注释开发了一个计划批处理:
@WebListener
public class BatchServlet implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
context = sce.getServletContext();
schedulerEngine = Executors.newSingleThreadScheduledExecutor();
schedulerEngine.scheduleAtFixedRate(new MyThread(), 0, 300, TimeUnit.SECONDS);
}
public class MyThread implements Runnable {
@Override
public void run() {
...... //my business logic
}
它工作正常。
但是,出于我的目的,我需要按需强制执行 MyThread() 批处理,例如,当我在 Servlet 中收到特定请求时。显然我可以单独调用 MyBatch 线程,但我想知道有一些最佳实践来执行此操作。