Items not removed from BeanEndpoint requests Map in all cases of request 
completion 
------------------------------------------------------------------------------------

                 Key: SM-1560
                 URL: https://issues.apache.org/activemq/browse/SM-1560
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-bean
    Affects Versions: 3.2.2
            Reporter: Craig Cobb


Memory leak caused by Request objects not being removed from "requests" Map in 
all cases.  Requests not removed results in memory leak.

Patch info:

### Eclipse Workspace Patch 1.0
#P servicemix-3.2
Index: 
deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
===================================================================
--- 
deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
       (revision 693290)
+++ 
deployables/serviceengines/servicemix-bean/src/main/java/org/apache/servicemix/bean/BeanEndpoint.java
       (working copy)
@@ -236,13 +236,16 @@
             } else {
                 // Exchange is finished
                 if (exchange.getStatus() == ExchangeStatus.DONE) {
+                    requests.remove(corId);
                     return;
                 // Exchange has been aborted with an exception
                 } else if (exchange.getStatus() == ExchangeStatus.ERROR) {
+                    requests.remove(corId);
                     return;
                 // Fault message
                 } else if (exchange.getFault() != null) {
                     // TODO: find a way to send it back to the bean before 
setting the DONE status
+                    requests.remove(corId);
                     done(exchange);
                 } else {
                     MethodInvocation invocation = 
getMethodInvocationStrategy().createInvocation(



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to