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 2013/09/17 11:50:18 UTC
[2/2] git commit: [CAMEL-6371] The creation of the UnitOfWork should
be done after the exchange is populated so that the notification sent
contains meaningful data
[CAMEL-6371] The creation of the UnitOfWork should be done after the exchange is populated so that the notification sent contains meaningful data
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cbe8d572
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cbe8d572
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cbe8d572
Branch: refs/heads/camel-2.12.x
Commit: cbe8d5726efc73430d8f71f6374b244f72d66fa2
Parents: 943eb5f
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Sep 17 11:39:14 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Sep 17 11:49:52 2013 +0200
----------------------------------------------------------------------
.../apache/camel/component/cxf/CxfConsumer.java | 15 ++++++++-------
.../camel/component/cxf/jaxrs/CxfRsInvoker.java | 8 ++++----
.../apache/camel/component/http/CamelServlet.java | 17 +++++++++--------
.../component/jetty/CamelContinuationServlet.java | 16 +++++++++-------
.../netty/handlers/ServerChannelHandler.java | 5 +++--
5 files changed, 33 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/cbe8d572/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
index 53bb9d6..478a8d1 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
@@ -152,13 +152,6 @@ public class CxfConsumer extends DefaultConsumer {
// create a Camel exchange, the default MEP is InOut
org.apache.camel.Exchange camelExchange = endpoint.createExchange();
- // we want to handle the UoW
- try {
- CxfConsumer.this.createUoW(camelExchange);
- } catch (Exception e) {
- log.error("Error processing request", e);
- throw new Fault(e);
- }
DataFormat dataFormat = endpoint.getDataFormat();
@@ -194,6 +187,14 @@ public class CxfConsumer extends DefaultConsumer {
binding.extractJaxWsContext(cxfExchange, context);
// put the context into camelExchange
camelExchange.setProperty(CxfConstants.JAXWS_CONTEXT, context);
+
+ // we want to handle the UoW
+ try {
+ CxfConsumer.this.createUoW(camelExchange);
+ } catch (Exception e) {
+ log.error("Error processing request", e);
+ throw new Fault(e);
+ }
return camelExchange;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/cbe8d572/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsInvoker.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsInvoker.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsInvoker.java
index 38bf420..3e2c0fd 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsInvoker.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsInvoker.java
@@ -76,11 +76,11 @@ public class CxfRsInvoker extends JAXRSInvoker {
ep = ExchangePattern.InOnly;
}
final org.apache.camel.Exchange camelExchange = endpoint.createExchange(ep);
- // we want to handle the UoW
- cxfRsConsumer.createUoW(camelExchange);
CxfRsBinding binding = endpoint.getBinding();
binding.populateExchangeFromCxfRsRequest(cxfExchange, camelExchange, method, paramArray);
+ // we want to handle the UoW
+ cxfRsConsumer.createUoW(camelExchange);
// Now we don't set up the timeout value
LOG.trace("Suspending continuation of exchangeId: {}", camelExchange.getExchangeId());
// TODO Support to set the timeout in case the Camel can't send the response back on time.
@@ -121,10 +121,10 @@ public class CxfRsInvoker extends JAXRSInvoker {
ep = ExchangePattern.InOnly;
}
org.apache.camel.Exchange camelExchange = endpoint.createExchange(ep);
- // we want to handle the UoW
- cxfRsConsumer.createUoW(camelExchange);
CxfRsBinding binding = endpoint.getBinding();
binding.populateExchangeFromCxfRsRequest(cxfExchange, camelExchange, method, paramArray);
+ // we want to handle the UoW
+ cxfRsConsumer.createUoW(camelExchange);
try {
cxfRsConsumer.getProcessor().process(camelExchange);
http://git-wip-us.apache.org/repos/asf/camel/blob/cbe8d572/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java b/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java
index 68afc89..a56257c 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java
@@ -86,13 +86,6 @@ public class CamelServlet extends HttpServlet {
// create exchange and set data on it
Exchange exchange = new DefaultExchange(consumer.getEndpoint(), ExchangePattern.InOut);
- // we want to handle the UoW
- try {
- consumer.createUoW(exchange);
- } catch (Exception e) {
- log.error("Error processing request", e);
- throw new ServletException(e);
- }
if (consumer.getEndpoint().isBridgeEndpoint()) {
exchange.setProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.TRUE);
@@ -117,7 +110,15 @@ public class CamelServlet extends HttpServlet {
exchange.getIn().setHeader(Exchange.HTTP_PATH,
httpPath.substring(contextPath.length()));
}
-
+
+ // we want to handle the UoW
+ try {
+ consumer.createUoW(exchange);
+ } catch (Exception e) {
+ log.error("Error processing request", e);
+ throw new ServletException(e);
+ }
+
try {
if (log.isTraceEnabled()) {
log.trace("Processing request for exchangeId: {}", exchange.getExchangeId());
http://git-wip-us.apache.org/repos/asf/camel/blob/cbe8d572/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java
index 229b7e3..de0bb8b 100644
--- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java
+++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/CamelContinuationServlet.java
@@ -102,13 +102,6 @@ public class CamelContinuationServlet extends CamelServlet {
// a new request so create an exchange
final Exchange exchange = new DefaultExchange(consumer.getEndpoint(), ExchangePattern.InOut);
- // we want to handle the UoW
- try {
- consumer.createUoW(exchange);
- } catch (Exception e) {
- log.error("Error processing request", e);
- throw new ServletException(e);
- }
if (consumer.getEndpoint().isBridgeEndpoint()) {
exchange.setProperty(Exchange.SKIP_GZIP_ENCODING, Boolean.TRUE);
@@ -136,6 +129,15 @@ public class CamelContinuationServlet extends CamelServlet {
log.trace("Suspending continuation of exchangeId: {}", exchange.getExchangeId());
}
continuation.setAttribute(EXCHANGE_ATTRIBUTE_ID, exchange.getExchangeId());
+
+ // we want to handle the UoW
+ try {
+ consumer.createUoW(exchange);
+ } catch (Exception e) {
+ log.error("Error processing request", e);
+ throw new ServletException(e);
+ }
+
// must suspend before we process the exchange
continuation.suspend();
http://git-wip-us.apache.org/repos/asf/camel/blob/cbe8d572/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
index 6aba7a8..6bafe7b 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/handlers/ServerChannelHandler.java
@@ -87,8 +87,6 @@ public class ServerChannelHandler extends SimpleChannelUpstreamHandler {
// create Exchange and let the consumer process it
final Exchange exchange = consumer.getEndpoint().createExchange(ctx, messageEvent);
- // we want to handle the UoW
- consumer.createUoW(exchange);
if (consumer.getConfiguration().isSync()) {
exchange.setPattern(ExchangePattern.InOut);
@@ -98,6 +96,9 @@ public class ServerChannelHandler extends SimpleChannelUpstreamHandler {
exchange.setProperty(Exchange.CHARSET_NAME, IOHelper.normalizeCharset(consumer.getConfiguration().getCharsetName()));
}
+ // we want to handle the UoW
+ consumer.createUoW(exchange);
+
beforeProcess(exchange, messageEvent);
// process accordingly to endpoint configuration