gpt4 book ai didi

java - 如何在Tomcat中的Java EJB中启动@Schedule方法

转载 作者:行者123 更新时间:2023-12-01 16:57:39 25 4
gpt4 key购买 nike

我有一个在 Tomcat8 中运行的 Java Servlet(在 Eclipse 中)。当调用 Servlet 时,我想执行一个命令并调用一个使用调度程序的方法。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Scheduler s = new Scheduler();
s.doStuff();

 package xy;
import javax.ejb.Schedule;
import javax.ejb.Singleton;

@Singleton
public class Scheduler {

private int counter = 0;

@Schedule(second = "*/5", minute = "*", hour = "*", info="Every 5 seconds")
public void doStuff(){
counter++;
System.out.println("counter: " +counter);
}
}

按照我的逻辑,每 5 秒我应该看到一个计数器 println 越来越高。但什么也没发生。

最佳答案

Tomcat 不是一个完整的 Java EE 容器。它仅实现 Java Servlet 和 JavaServer Pages 技术,因此您将无法使用 EJB (@Singleton) 或计时器服务 (@Schedule)。考虑使用 Java EE 服务器或 ScheduledExecutorService .

另请参阅

关于java - 如何在Tomcat中的Java EJB中启动@Schedule方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30487964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com