Discussion:
[mule-scm] [mule][23775] branches/mule-3.2.x/transports/jms/src/main/java/org/mule/ transport/jms/XaTransactedJmsMessageReceiver.java: MULE-6051 - closing message consumers when no message is received
Daniel Feist
2012-01-31 23:05:19 UTC
Permalink
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
Pablo La Greca
2012-02-01 15:45:44 UTC
Permalink
Adding a test case to verify this issue is going to take same time and mule
3.2.2 branches are about to be created. I will try to add it in mule 3.x
branch.
Post by Daniel Feist
Not possible to include a test case for this issue?
Revision 23775 <http://fisheye.codehaus.org/changelog/mule/?cs=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
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)
+ {
+ if (!this.reuseConsumer)
+ {
+ connector.closeQuietly(consumer);
+ if (context.getContext() != null)
+ {
+ context.getContext().consumer = null;
+ }
+ }
+ }
------------------------------
http://xircles.codehaus.org/manage_email
Daniel Feist
2012-02-01 15:51:31 UTC
Permalink
Add it in 3.2.x when you get chance and then merge up, so we have the coverage in 3.2.x too. Although a 3.2.2 branch has been created, 3.2.x is still there willing to take new bug fixes and tests :-)
Adding a test case to verify this issue is going to take same time and mule 3.2.2 branches are about to be created. I will try to add it in mule 3.x branch.
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
Loading...