java - 在服务器启动时在 servlet 中调用 Thread.sleep 时 Tomcat 无法启动

标签 java tomcat

<分区>

在服务器启动时调用 servlet 中的 Thread.sleep 时 Tomcat 启动失败。

有一个在服务器启动时加载的 Servet。在 servlet 的 init 方法中,调用了 MailSenderUtility 类的 sendMail 方法。在 sendMail 方法中,如果不是晚上 8 点,我调用了 Thread.sleep() 方法让程序 hibernate 一段计算好的时间。

由于此代码 (Thread.sleep) 服务器未启动。如果我删除 Thread.sleep 语句,它工作正常。

如果有更好的方法,请帮助并告诉我。据您所知,由于某些限制,我不能将 Quartz 和 Java Timer 类用于我的调度程序。

感谢大家的支持。

迪拉吉

最佳答案

Dheeraj 你不能“停止”负责初始化的线程。在其他地方执行此操作,因为 Servlet 对象不适合此操作。

你需要的是ContextListener .描述的很好also here .

祝你好运!

关于java - 在服务器启动时在 servlet 中调用 Thread.sleep 时 Tomcat 无法启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5103054/

相关文章:

java聊天室无法从多个客户端发送消息

java - 使用 JAXB 和 XMLStreamReader 高效地解码大型 xml 文件的一部分

java - 在 Eclipse 启动时启动 Tomcat?

java - 将 Tomcat 与 Java SecurityManager 一起使用?

java - 忽略 Tomcat 中特定 URI 的 cookie

java - 如何在没有接收到数据的情况下检查是否有来自 TCP 套接字的传入数据?

java - Android SDK - 找不到java

java - 值更改时调用方法

java - Jenkins:每个环境(DEV、QA、UAT 和 PROD)和包 war 的参数化属性文件

tomcat - 如何在我的系统中使用 Puppet