[ https://issues.apache.org/jira/browse/CXF-7079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ARSLAN ALI updated CXF-7079: ---------------------------- Environment: apache CXF 3.0.5 TIBCO was:apache CXF 3.0.5 > JMSConduit – is not removing entry from corelationMap if relpyMessage is null > (timeout) > --------------------------------------------------------------------------------------- > > Key: CXF-7079 > URL: https://issues.apache.org/jira/browse/CXF-7079 > Project: CXF > Issue Type: Bug > Affects Versions: 3.1.7 > Environment: apache CXF 3.0.5 > TIBCO > Reporter: ARSLAN ALI > > We have the problem, that if a timeout is raised the temporary queue is not > been deleted. > After code review of the JmsConduit class in both 3.0.5 and even in 3.1.7 we > have seen, that in case of a timeout, cxf is only raises only an > RuntimeException (JmsConduit line 256) > javax.jms.Message replyMessage = > jmsTemplate.receiveSelected(replyToDestination, messageSelector); > if (replyMessage == null) { > throw new RuntimeException("Timeout receiving message > with correlationId " + correlationId); > } else { > doReplyMessage(exchange, replyMessage); > } > And RuntimeException is not handled in JMSConduit resulting in correlationMap > is not removing the entry. > public static Message receive(Session session, > Destination replyToDestination, > String correlationId, > long receiveTimeout, > boolean pubSubNoLocal) { > ResourceCloser closer = new ResourceCloser(); > try { > String messageSelector = correlationId == null ? null : "JMSCorrelationID = > '" + correlationId + "'"; > javax.jms.Message replyMessage = consumer.receive(receiveTimeout); > if (replyMessage == null) > { throw new RuntimeException("Timeout receiving message with correlationId " > + correlationId); } > Is this the problem why the temporary queue is not been closed in case of a > timeout? Is there an solution for this problem? -- This message was sent by Atlassian JIRA (v6.3.4#6332)