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.