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]