2012-02-01 2 views
0

Я читаю файл журнала и отправляет письма, если что-то вызывает беспокойство в файле журнала. Оба процесса происходят одновременно. Но то, что я видел, строки были правильно прочитаны, но иногда почты, пропускается, поэтому я помещаю почтовую часть в поток. Теперь это не отдельная программа, она работает в контейнере, поэтому, когда я останавливаю сервер tomcat, проблема с утечкой памяти возникает, поскольку она не может остановить поток, который я сделал для отправки mail.can помочь .. Это то, что я делаю.не умеет читать файл и отправлять почту одновременно

   --Read Log file-- 
         | 
         | 

new Thread(new Runnable() { 
    @Override 
    public void run() { 
    SendMail mail = new SendMail(); 
    String mailDetails=""; 
    mailDetails = loginfo; 
    loginfo = " "; 
    mail.sendNotification() 
} 

ответ

1

Ответ: Вы остановите поток, используя прерывание(). This статья охватывает некоторые из фона, чтобы остановить потоки и предлагаемые альтернативы и обсуждает, почему прерывание() является ответом

Короче говоря, вы можете использовать следующий после отправки почты:

Thread thisThread = Thread.currentThread(); 
thisThread.interrupt(); 
+0

я уже попробовал это..и не работает – Rookie

Смежные вопросы