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]

Reply via email to