我正在读取日志文件,如果日志文件中发生任何令人担忧的事情,则发送邮件。这两个过程同时发生。但我看到的是行被正确读取,但有时邮件被跳过,所以我把邮件现在这不是一个独立的程序,它在容器中运行,所以当我停止 tomcat 服务器时,会出现内存泄漏问题,因为它无法停止我用来发送邮件的线程。任何人都可以帮忙..这就是我正在做的事情。
--Read Log file--
|
|
new Thread(new Runnable() {
@Override
public void run() {
SendMail mail = new SendMail();
String mailDetails="";
mailDetails = loginfo;
loginfo = " ";
mail.sendNotification()
}
最佳答案
答案是使用interrupt() 来停止线程。 This文章介绍了停止线程的一些背景知识和建议的替代方案,并讨论了为什么 Interrupt() 是答案
简单来说,发送邮件后您可以使用以下内容:
Thread thisThread = Thread.currentThread();
thisThread.interrupt();
关于java - 无法同时读取文件和发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9093568/