cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Nelson (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-1742) JMS Conduit Pooled Session Recycling
Date Mon, 11 Aug 2008 04:05:44 GMT
JMS Conduit Pooled Session Recycling
------------------------------------

                 Key: CXF-1742
                 URL: https://issues.apache.org/jira/browse/CXF-1742
             Project: CXF
          Issue Type: Bug
          Components: Transports
    Affects Versions: 2.1.1
         Environment: N/A
            Reporter: Chris Nelson


I  believe the doClose method of JMSOutputStream should have the pooled session recycle call
within a finally block. As it is now, if the handleResponse call fails due to a timeout an
IOException will be thrown by handleResponse. If that happens the recycle call will not happen.
We had a large number of timeouts that occurred during a load test. This eventually killed
our JMS server due to the number of consumers created.

The change below seems to have fixed our issue, but please let me know if this is incorrect.

        protected void doClose() throws IOException {            
            try {
                isOneWay = outMessage.getExchange().isOneWay();
                commitOutputMessage();
                if (!isOneWay) {
                    handleResponse();
                }                
            } catch (JMSException jmsex) {
                getLogger().log(Level.WARNING, "JMS connect failed with JMSException : ",
jmsex);            
                throw new IOException(jmsex.toString());
            } finally {
            	base.sessionFactory.recycle(pooledSession);
            }
        }

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


Mime
View raw message