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);