You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/06/29 10:18:46 UTC
svn commit: r1355261 -
/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Author: davsclaus
Date: Fri Jun 29 08:18:45 2012
New Revision: 1355261
URL: http://svn.apache.org/viewvc?rev=1355261&view=rev
Log:
CAMEL-5405: Ensure mina producer always disconnects if configured to do so, even for timeouts when doing request/reply.
Modified:
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
Modified: camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java?rev=1355261&r1=1355260&r2=1355261&view=diff
==============================================================================
--- camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java (original)
+++ camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java Fri Jun 29 08:18:45 2012
@@ -73,6 +73,15 @@ public class MinaProducer extends Defaul
}
public void process(Exchange exchange) throws Exception {
+ try {
+ doProcess(exchange);
+ } finally {
+ // ensure we always disconnect if configured
+ maybeDisconnectOnDone(exchange);
+ }
+ }
+
+ protected void doProcess(Exchange exchange) throws Exception {
if (session == null && !lazySessionCreation) {
throw new IllegalStateException("Not started yet!");
}
@@ -141,6 +150,12 @@ public class MinaProducer extends Defaul
}
}
}
+ }
+
+ protected void maybeDisconnectOnDone(Exchange exchange) {
+ if (session == null) {
+ return;
+ }
// should session be closed after complete?
Boolean close;