[
https://issues.apache.org/activemq/browse/SM-1560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Craig Cobb updated SM-1560:
---------------------------
Attachment: BeanEndpointPatch.txt
Patch on file instead of workspace.
> 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
> Attachments: BeanEndpointPatch.txt
>
>
> 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.