Author: gnodet
Date: Tue Mar 25 16:02:29 2008
New Revision: 641067

URL: http://svn.apache.org/viewvc?rev=641067&view=rev
Log:
SM-1136: PreDestroy being called for each exchange when it's not configured 
that way

Modified:
    
servicemix/smx3/trunk/deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java

Modified: 
servicemix/smx3/trunk/deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java?rev=641067&r1=641066&r2=641067&view=diff
==============================================================================
--- 
servicemix/smx3/trunk/deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
 (original)
+++ 
servicemix/smx3/trunk/deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
 Tue Mar 25 16:02:29 2008
@@ -405,7 +405,10 @@
 
     protected void checkEndOfRequest(Request request, Object corId) {
         if (request.getExchange().getStatus() != ExchangeStatus.ACTIVE) {
-            ReflectionUtils.callLifecycleMethod(request.getBean(), 
PreDestroy.class);
+            Object beanFromRequest = request.getBean();
+            if (beanFromRequest != bean) {
+                ReflectionUtils.callLifecycleMethod(beanFromRequest, 
PreDestroy.class);
+            }
             //request.setBean(null);
             //request.setExchange(null);
             requests.remove(corId);


Reply via email to