java - 带计时器的 ServletContextListener 未在控制台中显示输出

标签 java tomcat servlets netbeans timer

我制作了基本的 Web 应用程序,其中我采用了一个扩展 TimerTask 的 POJO 类和一个实现 ServletContextListener 的 servlet 类。现在我关心的是我想在控制台上每 1 分钟显示一次输出,因为我已经给出了在计时器设置中..但我看不到任何输出..

另外我担心的是,因为我只有一个 servlet 和一个没有 main 方法的 pojo 文件,那么如何运行这个应用程序。我正在使用 Netbeans ide..

这是我的 servlet 代码..

public class MyContext implements ServletContextListener {

private ScheduledExecutorService sched;

@Override
public void contextInitialized(ServletContextEvent event) {
    sched = Executors.newSingleThreadScheduledExecutor();
    sched.scheduleAtFixedRate(new MyTask(), 0, 1, TimeUnit.MINUTES);
}

@Override
public void contextDestroyed(ServletContextEvent event) {
    sched.shutdownNow();
}

这是我的 POJO 类代码..

class MyTask extends TimerTask {

public void run() {
    // your code here

    System.out.println("Timer Started");
}

请帮我摆脱这种情况.. 提前致谢

最佳答案

您需要使用 @WebListener() 注释 MyContext

@WebListener()
public class MyContext implements ServletContextListener {

 ......
}

关于java - 带计时器的 ServletContextListener 未在控制台中显示输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19903228/

相关文章:

java - 将维基百科页面的内容获取到 Android

Java List 反序列化并返回对象会出现不兼容类型错误

java - AngularJS http POST 到 Servlet

java - 即使 session 被破坏也获取旧 session 值

java - Hibernate + spring获取最新的lazy 1 to N属性值

java - Java 中的单词交换

mysql - JSP MySQL 检查与您的 MySQL 服务器版本相对应的手册,以了解在 '?' 附近使用的正确语法

java - glassfish v3 vs tomcat 7

java - 在达到 Max 之前 PermGen 空间不足

java - 如果容器身份验证失败,如何修改 Java servlet 响应 header ?