Daniel Feist
2012-01-31 23:05:19 UTC
Not possible to include a test case for this issue?
Revision
23775
Author
pablo.lagreca
Date
2012-01-31 15:15:36 -0600 (Tue, 31 Jan 2012)
Log Message
MULE-6051 - closing message consumers when no message is received
Modified Paths
branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java
Diff
Modified: branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java (23774 => 23775)
--- branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java 2012-01-31 21:06:38 UTC (rev 23774)
+++ branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java 2012-01-31 21:15:36 UTC (rev 23775)
@@ -241,6 +241,7 @@
{
tx.setRollbackOnly();
}
+ closeConsumerIfRequired(consumer);
return null;
}
message = connector.preProcessMessage(message, session);
@@ -275,10 +276,22 @@
MuleMessage messageToRoute = createMuleMessage(message, endpoint.getEncoding());
routeMessage(messageToRoute);
- connector.closeQuietly(consumer);
+ closeConsumerIfRequired(consumer);
return null;
}
+ private void closeConsumerIfRequired(MessageConsumer consumer)
+ {
+ if (!this.reuseConsumer)
+ {
+ connector.closeQuietly(consumer);
+ if (context.getContext() != null)
+ {
+ context.getContext().consumer = null;
+ }
+ }
+ }
+
@Override
protected void processMessage(Object msg) throws Exception
{
http://xircles.codehaus.org/manage_email
23775
Author
pablo.lagreca
Date
2012-01-31 15:15:36 -0600 (Tue, 31 Jan 2012)
Log Message
MULE-6051 - closing message consumers when no message is received
Modified Paths
branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java
Diff
Modified: branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java (23774 => 23775)
--- branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java 2012-01-31 21:06:38 UTC (rev 23774)
+++ branches/mule-3.2.x/transports/jms/src/main/java/org/mule/transport/jms/XaTransactedJmsMessageReceiver.java 2012-01-31 21:15:36 UTC (rev 23775)
@@ -241,6 +241,7 @@
{
tx.setRollbackOnly();
}
+ closeConsumerIfRequired(consumer);
return null;
}
message = connector.preProcessMessage(message, session);
@@ -275,10 +276,22 @@
MuleMessage messageToRoute = createMuleMessage(message, endpoint.getEncoding());
routeMessage(messageToRoute);
- connector.closeQuietly(consumer);
+ closeConsumerIfRequired(consumer);
return null;
}
+ private void closeConsumerIfRequired(MessageConsumer consumer)
+ {
+ if (!this.reuseConsumer)
+ {
+ connector.closeQuietly(consumer);
+ if (context.getContext() != null)
+ {
+ context.getContext().consumer = null;
+ }
+ }
+ }
+
@Override
protected void processMessage(Object msg) throws Exception
{
http://xircles.codehaus.org/manage_email