1 21 package org.jsmtpd.core.send; 22 23 import org.jsmtpd.core.mail.Email; 24 import org.jsmtpd.generic.threadpool.IThreadedClass; 25 26 31 public class DeliveryWorker implements IThreadedClass { 32 33 private DeliveryHandler handler = new DeliveryHandler(); 34 private Email curentMail = null; 35 36 public void doJob() { 37 try { 38 handler.processMessage(curentMail); 39 40 } catch (RuntimeException e) { 41 QueueService.getInstance().requeueMail(curentMail); 43 e.printStackTrace(); 44 } 45 curentMail = null; 46 } 47 48 public void forceShutdown() { 49 handler.clearMail(); 54 while (true) { 56 if (curentMail == null) 57 break; 58 try { 59 Thread.sleep(100); 60 } catch (InterruptedException e) { 61 62 e.printStackTrace(); 63 } 64 } 65 66 } 67 68 69 public void gracefullShutdown() { 70 } 72 73 public void setParam(Object o) { 74 curentMail = (Email) o; 75 76 } 77 78 } | Popular Tags |