1
19
20 package com.liferay.portal.kernel.messaging;
21
22
28 public class InvokerMessageListener implements MessageListener {
29
30 public InvokerMessageListener(MessageListener messageListener) {
31 this(
32 messageListener,
33 Thread.currentThread().getContextClassLoader());
34 }
35
36 public InvokerMessageListener(
37 MessageListener messageListener, ClassLoader classLoader) {
38
39 _messageListener = messageListener;
40 _classLoader = classLoader;
41 }
42
43 public boolean equals(Object obj) {
44 InvokerMessageListener messageListenerInvoker =
45 (InvokerMessageListener)obj;
46
47 return _messageListener.equals(
48 messageListenerInvoker.getMessageListener());
49 }
50
51 public MessageListener getMessageListener() {
52 return _messageListener;
53 }
54
55 public int hashCode() {
56 return _messageListener.hashCode();
57 }
58
59 public void receive(Message message) {
60 Thread currentThread = Thread.currentThread();
61
62 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
63
64 currentThread.setContextClassLoader(_classLoader);
65
66 try {
67 _messageListener.receive(message);
68 }
69 finally {
70 currentThread.setContextClassLoader(contextClassLoader);
71 }
72 }
73
74 private MessageListener _messageListener;
75 private ClassLoader _classLoader;
76
77 }