1
22
23 package com.liferay.portal.kernel.messaging;
24
25
31 public class InvokerMessageListener implements MessageListener {
32
33 public InvokerMessageListener(MessageListener messageListener) {
34 this(
35 messageListener,
36 Thread.currentThread().getContextClassLoader());
37 }
38
39 public InvokerMessageListener(
40 MessageListener messageListener, ClassLoader classLoader) {
41
42 _messageListener = messageListener;
43 _classLoader = classLoader;
44 }
45
46 public boolean equals(Object obj) {
47 InvokerMessageListener messageListenerInvoker =
48 (InvokerMessageListener)obj;
49
50 return _messageListener.equals(
51 messageListenerInvoker.getMessageListener());
52 }
53
54 public MessageListener getMessageListener() {
55 return _messageListener;
56 }
57
58 public int hashCode() {
59 return _messageListener.hashCode();
60 }
61
62 public void receive(Object message) {
63 ClassLoader contextClassLoader =
64 Thread.currentThread().getContextClassLoader();
65
66 Thread.currentThread().setContextClassLoader(_classLoader);
67
68 try {
69 _messageListener.receive(message);
70 }
71 finally {
72 Thread.currentThread().setContextClassLoader(contextClassLoader);
73 }
74 }
75
76 public void receive(String message) {
77 ClassLoader contextClassLoader =
78 Thread.currentThread().getContextClassLoader();
79
80 Thread.currentThread().setContextClassLoader(_classLoader);
81
82 try {
83 _messageListener.receive(message);
84 }
85 finally {
86 Thread.currentThread().setContextClassLoader(contextClassLoader);
87 }
88 }
89
90 private MessageListener _messageListener;
91 private ClassLoader _classLoader;
92
93 }