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 2011/12/21 15:17:51 UTC
svn commit: r1221738 - in /camel/branches/camel-2.8.x: ./
camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
camel-core/src/test/java/org/apache/camel/component/seda/SedaFromRouteIdTest.java
Author: davsclaus
Date: Wed Dec 21 14:17:51 2011
New Revision: 1221738
URL: http://svn.apache.org/viewvc?rev=1221738&view=rev
Log:
CAMEL-4806: Added strategy method in seda consumer to allow custom preparation for exchange.
Added:
camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/seda/SedaFromRouteIdTest.java
- copied unchanged from r1221737, camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaFromRouteIdTest.java
Modified:
camel/branches/camel-2.8.x/ (props changed)
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Dec 21 14:17:51 2011
@@ -1 +1 @@
-/camel/trunk:1202148,1202167,1202204-1202206,1202214-1202215,1202223,1202659,1202685,1203879,1203978,1204338,1205124,1205372,1205412,1205429,1205431,1205713,1206116,1206414,1207743,1207784,1208301,1208930,1208964-1208965,1209006-1209007,1209382,1209401,1209477,1209845-1209846,1210113,1210391,1210771,1210830,1211363,1211414,1211773,1211811,1212275-1212276,1212408,1213197,1213219,1213232,1213526,1214132,1214639,1214743,1215240,1215448,1215482,1220711,1221129,1221566
+/camel/trunk:1202148,1202167,1202204-1202206,1202214-1202215,1202223,1202659,1202685,1203879,1203978,1204338,1205124,1205372,1205412,1205429,1205431,1205713,1206116,1206414,1207743,1207784,1208301,1208930,1208964-1208965,1209006-1209007,1209382,1209401,1209477,1209845-1209846,1210113,1210391,1210771,1210830,1211363,1211414,1211773,1211811,1212275-1212276,1212408,1213197,1213219,1213232,1213526,1214132,1214639,1214743,1215240,1215448,1215482,1220711,1221129,1221566,1221737
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java?rev=1221738&r1=1221737&r2=1221738&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java Wed Dec 21 14:17:51 2011
@@ -155,9 +155,8 @@ public class SedaConsumer extends Servic
if (exchange != null) {
try {
// send a new copied exchange with new camel context
- Exchange newExchange = ExchangeHelper.copyExchangeAndSetCamelContext(exchange, endpoint.getCamelContext());
- // set the fromEndpoint
- newExchange.setFromEndpoint(endpoint);
+ Exchange newExchange = prepareExchange(exchange);
+ // process the exchange
sendToConsumers(newExchange);
// copy the message back
if (newExchange.hasOut()) {
@@ -195,6 +194,20 @@ public class SedaConsumer extends Servic
}
/**
+ * Strategy to prepare exchange for being processed by this consumer
+ *
+ * @param exchange the exchange
+ * @return the exchange to process by this consumer.
+ */
+ protected Exchange prepareExchange(Exchange exchange) {
+ // send a new copied exchange with new camel context
+ Exchange newExchange = ExchangeHelper.copyExchangeAndSetCamelContext(exchange, endpoint.getCamelContext());
+ // set the from endpoint
+ newExchange.setFromEndpoint(endpoint);
+ return newExchange;
+ }
+
+ /**
* Send the given {@link Exchange} to the consumer(s).
* <p/>
* If multiple consumers then they will each receive a copy of the Exchange.