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 org.apache.logging.log4j.LogManager;
20 import org.apache.logging.log4j.Logger;
21 import org.apache.logging.log4j.core.AbstractServer;
22 import org.apache.logging.log4j.core.LogEvent;
23
24 import javax.jms.JMSException;
25 import javax.jms.ObjectMessage;
26 import javax.naming.Context;
27 import javax.naming.NameNotFoundException;
28 import javax.naming.NamingException;
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 public void onMessage(javax.jms.Message message) {
45
46 try {
47 if (message instanceof ObjectMessage) {
48 ObjectMessage objectMessage = (ObjectMessage) message;
49 log((LogEvent) objectMessage.getObject());
50 } else {
51 logger.warn("Received message is of type " + message.getJMSType()
52 + ", was expecting ObjectMessage.");
53 }
54 } catch (JMSException jmse) {
55 logger.error("Exception thrown while processing incoming message.",
56 jmse);
57 }
58 }
59
60
61
62
63
64
65
66
67 protected Object lookup(Context ctx, String name) throws NamingException {
68 try {
69 return ctx.lookup(name);
70 } catch (NameNotFoundException e) {
71 logger.error("Could not find name [" + name + "].");
72 throw e;
73 }
74 }
75
76 }