You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/06/15 23:37:40 UTC
svn commit: r414689 -
/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/DeliveryChannelImpl.java
Author: gnodet
Date: Thu Jun 15 14:37:40 2006
New Revision: 414689
URL: http://svn.apache.org/viewvc?rev=414689&view=rev
Log:
MessageExchangeListener should be given exchanges with their own classloader set on the thread
Modified:
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/DeliveryChannelImpl.java
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/DeliveryChannelImpl.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/DeliveryChannelImpl.java?rev=414689&r1=414688&r2=414689&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/DeliveryChannelImpl.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/DeliveryChannelImpl.java Thu Jun 15 14:37:40 2006
@@ -616,7 +616,13 @@
// This is important for transaction boundaries
me.setPushDeliver(true);
// Deliver the exchange
- listener.onMessageExchange(me);
+ ClassLoader old = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(component.getComponent().getClass().getClassLoader());
+ listener.onMessageExchange(me);
+ } finally {
+ Thread.currentThread().setContextClassLoader(old);
+ }
// TODO: handle delayed exchange notifications
return;
}