1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.james.jms.consumer;
21
22 import javax.mail.MessagingException;
23
24 import org.apache.commons.logging.Log;
25 import org.apache.james.api.jms.MailConsumer;
26 import org.apache.james.services.MailServer;
27 import org.apache.mailet.Mail;
28
29
30
31
32
33 public class SpoolToJamesMailConsumer implements MailConsumer {
34
35 private final MailServer mailServer;
36 private final Log log;
37
38 public SpoolToJamesMailConsumer(final MailServer mailServer, final Log log) {
39 super();
40 this.mailServer = mailServer;
41 this.log = log;
42 }
43
44 public void consume(Mail mail) {
45 if (log.isDebugEnabled()) {
46 log.debug("Consuming " + mail.getName());
47 }
48 log.trace(mail);
49
50 try {
51 mailServer.sendMail(mail);
52 } catch (MessagingException e) {
53 reportIssue(e, mail);
54 }
55 }
56
57 public void reportIssue(Exception e, Object message) {
58 log.warn(e.getMessage());
59 if (log.isDebugEnabled()) {
60 log.debug("Failed to process: " + message, e);
61 log.trace(message);
62 }
63 }
64
65
66
67
68
69
70 public String toString()
71 {
72 final String TAB = " ";
73
74 final String retValue = "SpoolToJamesMailConsumer ( "
75 + "mailServer = " + this.mailServer + TAB
76 + " )";
77
78 return retValue;
79 }
80
81
82 }