1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.net;
18
19 import javax.jms.JMSException;
20 import javax.jms.ObjectMessage;
21 import javax.naming.Context;
22 import javax.naming.NameNotFoundException;
23 import javax.naming.NamingException;
24
25 import org.apache.logging.log4j.LogManager;
26 import org.apache.logging.log4j.Logger;
27 import org.apache.logging.log4j.core.AbstractServer;
28 import org.apache.logging.log4j.core.LogEvent;
29
30
31
32
33 public abstract class AbstractJMSReceiver extends AbstractServer implements javax.jms.MessageListener {
34
35
36
37
38 protected Logger logger = LogManager.getLogger(this.getClass().getName());
39
40
41
42
43
44 @Override
45 public void onMessage(final javax.jms.Message message) {
46
47 try {
48 if (message instanceof ObjectMessage) {
49 final ObjectMessage objectMessage = (ObjectMessage) message;
50 log((LogEvent) objectMessage.getObject());
51 } else {
52 logger.warn("Received message is of type " + message.getJMSType()
53 + ", was expecting ObjectMessage.");
54 }
55 } catch (final JMSException jmse) {
56 logger.error("Exception thrown while processing incoming message.",
57 jmse);
58 }
59 }
60
61
62
63
64
65
66
67
68 protected Object lookup(final Context ctx, final String name) throws NamingException {
69 try {
70 return ctx.lookup(name);
71 } catch (final NameNotFoundException e) {
72 logger.error("Could not find name [" + name + "].");
73 throw e;
74 }
75 }
76
77 }