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 2009/02/20 16:10:19 UTC
svn commit: r746271 - in /camel/branches/camel-1.x: ./
components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaInOutCloseSessionWhenCompleteTest.java
Author: davsclaus
Date: Fri Feb 20 15:10:19 2009
New Revision: 746271
URL: http://svn.apache.org/viewvc?rev=746271&view=rev
Log:
Merged revisions 746269 via svnmerge from
https://svn.apache.org/repos/asf/camel/trunk
........
r746269 | davsclaus | 2009-02-20 16:02:50 +0100 (Fri, 20 Feb 2009) | 1 line
CAMEL-1362: added special header to indicate mina session should be closed when its complete, to eg by used when sending a BYE message.
........
Added:
camel/branches/camel-1.x/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaInOutCloseSessionWhenCompleteTest.java
- copied unchanged from r746269, camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaInOutCloseSessionWhenCompleteTest.java
Modified:
camel/branches/camel-1.x/ (props changed)
camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 20 15:10:19 2009
@@ -1 +1 @@
-/camel/trunk:739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978
+/camel/trunk:739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978,746269
Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java?rev=746271&r1=746270&r2=746271&view=diff
==============================================================================
--- camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java (original)
+++ camel/branches/camel-1.x/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java Fri Feb 20 15:10:19 2009
@@ -36,6 +36,8 @@
* @version $Revision$
*/
public class MinaConsumer extends DefaultConsumer<MinaExchange> {
+ public static final transient String HEADER_CLOSE_SESSION_WHEN_COMPLETE = "CamelMinaCloseSessionWhenComplete";
+
private static final transient Log LOG = LogFactory.getLog(MinaConsumer.class);
private final MinaEndpoint endpoint;
@@ -109,6 +111,7 @@
} else {
body = MinaPayloadHelper.getIn(endpoint, exchange);
}
+
boolean failed = exchange.isFailed();
if (failed && !endpoint.isTransferExchange()) {
if (exchange.getException() != null) {
@@ -129,8 +132,22 @@
LOG.debug("Writing body: " + body);
}
MinaHelper.writeBody(session, body, exchange);
+
}
}
+
+ // should session be closed after complete?
+ Boolean close;
+ if (ExchangeHelper.isOutCapable(exchange)) {
+ close = exchange.getOut().getHeader(HEADER_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
+ } else {
+ close = exchange.getIn().getHeader(HEADER_CLOSE_SESSION_WHEN_COMPLETE, Boolean.class);
+ }
+
+ if (close != null && close) {
+ LOG.debug("Closing session when complete");
+ session.close();
+ }
}
}