我正在阅读日志文件并发送邮件,如果日志文件中出现任何问题。这些过程同时发生。但我看到的是行正确读取但有时邮件被跳过,所以我把邮件部分在一个线程。现在这不是一个独立的程序,它是在一个容器中运行,所以当我停止tomcat服务器时,出现内存泄漏问题,因为它无法阻止我发送邮件的线程。任何人帮助..这就是我在做的事。
--Read Log file--
|
|
new Thread(new Runnable() {
@Override
public void run() {
SendMail mail = new SendMail();
String mailDetails="";
mailDetails = loginfo;
loginfo = " ";
mail.sendNotification()
}
答案 0 :(得分:1)
答案是你使用interrupt()来停止一个线程。 This文章介绍了停止线程的一些背景和建议的替代方案,并讨论了为什么interrupt()是答案
简而言之,您可以在发送邮件后使用以下内容:
Thread thisThread = Thread.currentThread();
thisThread.interrupt();