[
https://issues.apache.org/jira/browse/CXF-5754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15925973#comment-15925973
]
Dan Salt edited comment on CXF-5754 at 3/15/17 11:59 AM:
---------------------------------------------------------
Hi Christian,
I can confirm that using a simple unit test (that aggressively sends
request/reply messages to a JMS destination with no consumer, with a short
timeout), against an unfixed 3.0.11 JMS transport runs out of memory on a 100mb
VM in just under 5 minutes.
!unfixed-test01.png|width=300!
But a modified 3.0.12 (using your fixed code) against the same test is happily
running over 20 minutes later - no signs of a leak.
!fixed-test01.png|width=400!
This matches what we saw with our initial patch - so I think we call your fix a
success :)
Cheers,
Dan
was (Author: dansalt):
Hi Christian,
I can confirm that using a simple unit test (that aggressively sends
request/reply messages to a JMS destination with no consumer, with a short
timeout), against an unfixed 3.0.11 JMS transport runs out of memory on a 100mb
VM in just under 5 minutes.
!unfixed-test01.png|vspace=4!
But a modified 3.0.12 (using your fixed code) against the same test is happily
running over 20 minutes later - no signs of a leak.
!fixed-test01.png|vspace=4!
This matches what we saw with our initial patch - so I think we call your fix a
success :)
Cheers,
Dan
> JMSConduit - temporary queue not beeing closed if relpyMessage is null
> (timeout)
> --------------------------------------------------------------------------------
>
> Key: CXF-5754
> URL: https://issues.apache.org/jira/browse/CXF-5754
> Project: CXF
> Issue Type: Bug
> Components: WS-* Components
> Affects Versions: 2.7.11
> Reporter: Philipp Hahn
> Assignee: Christian Schneider
> Fix For: 3.2.0, 3.0.13, 3.1.11
>
> Attachments: eclipse-mem-analyzer.png, fixed-test01.png,
> memory-leak-due-to-timeouts-4hrs.png, unfixed-test01.png
>
>
> Our implementation:
> CXF 2.7.11
> JMS Queue on TIBCO
> We have the problem, that if a timeout is raised the temporary queue is not
> been deleted.
> After code review of the JmsConduit class we have seen, that in case of a
> timeout, cxf is only raises only an RuntimeException (JmsConduit line 256)
> {code}
> javax.jms.Message replyMessage =
> jmsTemplate.receiveSelected(replyToDestination, messageSelector);
> if (replyMessage == null) {
> throw new RuntimeException("Timeout receiving message
> with correlationId " + correlationId);
> } else {
> doReplyMessage(exchange, replyMessage);
> }
> {code}
> Is this the problem why the temporary queue is not been closed in case of a
> timeout? Is there an solution for this problem?
> Thanks!
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)