Author: sebb Date: Sat Jul 5 13:20:29 2008 New Revision: 674234 URL: http://svn.apache.org/viewvc?rev=674234&view=rev Log: Bug 43791 - ensure QueueReceiver is closed
Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/Receiver.java jakarta/jmeter/trunk/xdocs/changes.xml Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/Receiver.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/Receiver.java?rev=674234&r1=674233&r2=674234&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/Receiver.java (original) +++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/Receiver.java Sat Jul 5 13:20:29 2008 @@ -28,16 +28,17 @@ * */ public class Receiver implements Runnable { - private boolean active; + private static final Logger log = LoggingManager.getLoggerForClass(); - private QueueSession session; + private boolean active; - private QueueReceiver consumer; + private final QueueSession session; - private QueueConnection conn; + private final QueueReceiver consumer; + + private final QueueConnection conn; // private static Receiver receiver; - private static final Logger log = LoggingManager.getLoggerForClass(); private Receiver(QueueConnectionFactory factory, Queue receiveQueue) throws JMSException { conn = factory.createQueueConnection(); @@ -48,6 +49,7 @@ log.info("Receiver - ctor. Connection to messaging system established"); } + // TODO - does this need to be synchronized now that the variables are final? public static synchronized Receiver createReceiver(QueueConnectionFactory factory, Queue receiveQueue) throws JMSException { // if (receiver == null) { @@ -84,20 +86,25 @@ } } // not active anymore - if (session != null) { - try { - session.close(); - try { - if (conn != null) { - conn.close(); - } - } catch (JMSException e) { - log.error("Error closing connection",e); - } - } catch (JMSException e) { - log.error("Error closing session",e); - } + if (consumer != null) { + try { + consumer.close(); + } catch (JMSException e) { + log.error("Error closing connection",e); + } + } + + // session and conn cannot be null (or ctor would have caused NPE) + try { + session.close(); + } catch (JMSException e) { + log.error("Error closing session",e); } + try { + conn.close(); + } catch (JMSException e) { + log.error("Error closing connection",e); + } } public synchronized void activate() { Modified: jakarta/jmeter/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=674234&r1=674233&r2=674234&view=diff ============================================================================== --- jakarta/jmeter/trunk/xdocs/changes.xml (original) +++ jakarta/jmeter/trunk/xdocs/changes.xml Sat Jul 5 13:20:29 2008 @@ -81,6 +81,7 @@ <li>Amend TestBeans to show the correct popup menu for Listeners</li> <li>Fix NPE when using nested Transaction Controllers with parent samples</li> <li>Bug 45185 - CSV dataset blank delimiter causes OOM</li> +<li>Bug 43791 - ensure QueueReceiver is closed</li> </ul> <h3>Improvements</h3> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]