You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/03/04 08:57:49 UTC
[camel] 04/32: [CAMEL-13440] Remove RouteContext
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 028a6b8cdc86b39d3a11dfbf7f5aa4ab96b3cce0
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Feb 21 10:29:28 2020 +0100
[CAMEL-13440] Remove RouteContext
# Conflicts:
# core/camel-api/src/main/java/org/apache/camel/spi/RouteContext.java
---
.../JtaTransactionErrorHandlerReifier.java | 6 +-
.../cdi/transaction/JtaTransactionPolicy.java | 24 +-
.../component/controlbus/ControlBusProducer.java | 18 +-
.../hystrix/processor/HystrixProcessorFactory.java | 6 +-
.../hystrix/processor/HystrixReifier.java | 8 +-
.../processor/HystrixHierarchicalConfigTest.java | 16 +-
.../SpringHystrixRouteHierarchicalConfigTest.java | 10 +-
.../infinispan/policy/InfinispanRoutePolicy.java | 2 +-
.../component/jcache/policy/JCachePolicy.java | 10 +-
.../component/jms/tx/AbstractTransactionTest.java | 4 +-
.../camel/routepolicy/quartz/ScheduledJob.java | 2 +-
.../resilience4j/ResilienceProcessorFactory.java | 6 +-
.../component/resilience4j/ResilienceReifier.java | 8 +-
.../shiro/security/ShiroSecurityPolicy.java | 8 +-
.../SpringSecurityAuthorizationPolicy.java | 6 +-
.../camel/spring/spi/SpringTransactionPolicy.java | 24 +-
.../spring/spi/TransactionErrorHandlerBuilder.java | 7 -
.../spring/spi/TransactionErrorHandlerReifier.java | 6 +-
.../spring/config/CamelContextFactoryBeanTest.java | 4 +-
.../spring/config/DummyErrorHandlerBuilder.java | 6 +-
.../camel/spring/config/ErrorHandlerTest.java | 4 +-
.../java/org/apache/camel/zipkin/ZipkinTracer.java | 14 +-
.../src/main/java/org/apache/camel/Channel.java | 6 +-
.../src/main/java/org/apache/camel/Route.java | 163 ++++++-
.../org/apache/camel/RuntimeConfiguration.java | 2 +-
.../org/apache/camel/spi/LifecycleStrategy.java | 26 +-
.../camel/spi/ManagementObjectNameStrategy.java | 2 +-
.../apache/camel/spi/ManagementObjectStrategy.java | 2 +-
.../src/main/java/org/apache/camel/spi/Policy.java | 9 +-
.../org/apache/camel/spi/ProcessorFactory.java | 9 +-
.../java/org/apache/camel/spi/RouteContext.java | 242 ----------
.../main/java/org/apache/camel/spi/UnitOfWork.java | 22 +-
.../camel/impl/engine/AbstractRouteContext.java | 537 ---------------------
.../apache/camel/impl/engine/BaseRouteService.java | 17 +-
.../engine/DefaultAsyncProcessorAwaitManager.java | 11 +-
.../impl/engine/DefaultInflightRepository.java | 11 +-
.../camel/impl/engine/DefaultProcessorFactory.java | 14 +-
.../org/apache/camel/impl/engine/DefaultRoute.java | 490 ++++++++++++++++++-
.../camel/impl/engine/DefaultRouteError.java | 4 +-
.../engine/DefaultRuntimeEndpointRegistry.java | 21 +-
.../camel/impl/engine/DefaultShutdownStrategy.java | 8 +-
.../camel/impl/engine/DefaultUnitOfWork.java | 24 +-
.../impl/engine/EventDrivenConsumerRoute.java | 141 ------
.../apache/camel/impl/engine/MDCUnitOfWork.java | 16 +-
.../impl/engine/SupervisingRouteController.java | 23 +-
.../camel/impl/engine/TypedProcessorFactory.java | 14 +-
.../apache/camel/impl/health/RouteHealthCheck.java | 6 +-
.../camel/processor/CamelInternalProcessor.java | 34 +-
.../apache/camel/processor/MulticastProcessor.java | 36 +-
.../camel/processor/RecipientListProcessor.java | 20 +-
.../org/apache/camel/processor/RoutingSlip.java | 11 +-
.../java/org/apache/camel/processor/Splitter.java | 8 +-
.../camel/processor/channel/DefaultChannel.java | 40 +-
.../DefaultExceptionPolicyStrategy.java | 4 +-
.../errorhandler/RedeliveryErrorHandler.java | 17 +-
.../impl/cloud/ServiceCallProcessorFactory.java | 6 +-
.../org/apache/camel/builder/NotifyBuilder.java | 9 +-
.../java/org/apache/camel/impl/DefaultModel.java | 5 +-
.../org/apache/camel/impl/DefaultRouteContext.java | 41 --
.../java/org/apache/camel/impl/RouteService.java | 10 +-
.../camel/impl/cluster/ClusteredRoutePolicy.java | 3 +-
.../camel/reifier/AbstractPolicyReifier.java | 6 +-
.../org/apache/camel/reifier/AbstractReifier.java | 13 +-
.../org/apache/camel/reifier/AggregateReifier.java | 8 +-
.../java/org/apache/camel/reifier/BeanReifier.java | 8 +-
.../org/apache/camel/reifier/CatchReifier.java | 6 +-
.../org/apache/camel/reifier/ChoiceReifier.java | 7 +-
.../camel/reifier/CircuitBreakerReifier.java | 6 +-
.../apache/camel/reifier/ClaimCheckReifier.java | 6 +-
.../apache/camel/reifier/ConvertBodyReifier.java | 7 +-
.../org/apache/camel/reifier/DelayReifier.java | 6 +-
.../apache/camel/reifier/DynamicRouterReifier.java | 8 +-
.../org/apache/camel/reifier/EnrichReifier.java | 6 +-
.../apache/camel/reifier/ExpressionReifier.java | 6 +-
.../org/apache/camel/reifier/FilterReifier.java | 6 +-
.../org/apache/camel/reifier/FinallyReifier.java | 6 +-
.../camel/reifier/IdempotentConsumerReifier.java | 6 +-
.../apache/camel/reifier/InterceptFromReifier.java | 6 +-
.../org/apache/camel/reifier/InterceptReifier.java | 10 +-
.../reifier/InterceptSendToEndpointReifier.java | 12 +-
.../apache/camel/reifier/LoadBalanceReifier.java | 8 +-
.../java/org/apache/camel/reifier/LogReifier.java | 10 +-
.../java/org/apache/camel/reifier/LoopReifier.java | 6 +-
.../org/apache/camel/reifier/MarshalReifier.java | 6 +-
.../org/apache/camel/reifier/MulticastReifier.java | 6 +-
.../apache/camel/reifier/OnCompletionReifier.java | 12 +-
.../apache/camel/reifier/OnExceptionReifier.java | 16 +-
.../apache/camel/reifier/OnFallbackReifier.java | 6 +-
.../org/apache/camel/reifier/OtherwiseReifier.java | 6 +-
.../org/apache/camel/reifier/PipelineReifier.java | 6 +-
.../org/apache/camel/reifier/PolicyReifier.java | 10 +-
.../apache/camel/reifier/PollEnrichReifier.java | 6 +-
.../org/apache/camel/reifier/ProcessReifier.java | 6 +-
.../org/apache/camel/reifier/ProcessorReifier.java | 83 ++--
.../apache/camel/reifier/RecipientListReifier.java | 6 +-
.../apache/camel/reifier/RemoveHeaderReifier.java | 6 +-
.../apache/camel/reifier/RemoveHeadersReifier.java | 6 +-
.../camel/reifier/RemovePropertiesReifier.java | 6 +-
.../camel/reifier/RemovePropertyReifier.java | 6 +-
.../apache/camel/reifier/ResequenceReifier.java | 10 +-
.../org/apache/camel/reifier/RollbackReifier.java | 6 +-
.../org/apache/camel/reifier/RouteReifier.java | 238 ++++++---
.../apache/camel/reifier/RoutingSlipReifier.java | 6 +-
.../java/org/apache/camel/reifier/SagaReifier.java | 7 +-
.../org/apache/camel/reifier/SamplingReifier.java | 6 +-
.../org/apache/camel/reifier/ScriptReifier.java | 6 +-
.../java/org/apache/camel/reifier/SendReifier.java | 6 +-
.../apache/camel/reifier/ServiceCallReifier.java | 6 +-
.../org/apache/camel/reifier/SetBodyReifier.java | 6 +-
.../camel/reifier/SetExchangePatternReifier.java | 6 +-
.../org/apache/camel/reifier/SetHeaderReifier.java | 6 +-
.../apache/camel/reifier/SetPropertyReifier.java | 6 +-
.../java/org/apache/camel/reifier/SortReifier.java | 6 +-
.../org/apache/camel/reifier/SplitReifier.java | 6 +-
.../java/org/apache/camel/reifier/StepReifier.java | 6 +-
.../java/org/apache/camel/reifier/StopReifier.java | 6 +-
.../org/apache/camel/reifier/ThreadsReifier.java | 6 +-
.../org/apache/camel/reifier/ThrottleReifier.java | 6 +-
.../camel/reifier/ThrowExceptionReifier.java | 6 +-
.../org/apache/camel/reifier/ToDynamicReifier.java | 6 +-
.../apache/camel/reifier/TransactedReifier.java | 10 +-
.../org/apache/camel/reifier/TransformReifier.java | 6 +-
.../java/org/apache/camel/reifier/TryReifier.java | 6 +-
.../org/apache/camel/reifier/UnmarshalReifier.java | 6 +-
.../org/apache/camel/reifier/ValidateReifier.java | 6 +-
.../java/org/apache/camel/reifier/WhenReifier.java | 6 +-
.../reifier/WhenSkipSendToEndpointReifier.java | 6 +-
.../org/apache/camel/reifier/WireTapReifier.java | 8 +-
.../errorhandler/DeadLetterChannelReifier.java | 6 +-
.../errorhandler/DefaultErrorHandlerReifier.java | 6 +-
.../errorhandler/ErrorHandlerRefReifier.java | 16 +-
.../reifier/errorhandler/ErrorHandlerReifier.java | 42 +-
.../errorhandler/NoErrorHandlerReifier.java | 6 +-
.../loadbalancer/CustomLoadBalancerReifier.java | 6 +-
.../loadbalancer/FailoverLoadBalancerReifier.java | 6 +-
.../reifier/loadbalancer/LoadBalancerReifier.java | 16 +-
.../loadbalancer/RandomLoadBalancerReifier.java | 6 +-
.../RoundRobinLoadBalancerReifier.java | 6 +-
.../loadbalancer/StickyLoadBalancerReifier.java | 6 +-
.../loadbalancer/TopicLoadBalancerReifier.java | 6 +-
.../loadbalancer/WeightedLoadBalancerReifier.java | 6 +-
.../camel/reifier/rest/RestBindingReifier.java | 6 +-
.../camel/builder/ContextErrorHandlerTest.java | 6 +-
.../org/apache/camel/builder/ErrorHandlerTest.java | 10 +-
.../org/apache/camel/builder/RouteBuilderTest.java | 22 +-
.../component/rest/FromRestGetPolicyTest.java | 6 +-
.../apache/camel/impl/DummyLifecycleStrategy.java | 17 +-
.../RoutePolicyAutoStartupCancelledOnInitTest.java | 2 +-
.../apache/camel/issues/AdviceWithPolicyTest.java | 6 +-
.../camel/issues/AdviceWithTransactedTest.java | 6 +-
.../TransactedPropertyPlaceholderIssueTest.java | 6 +-
.../model/LoadRouteFromXmlWithPolicyTest.java | 6 +-
.../processor/CustomProcessorFactoryTest.java | 6 +-
.../camel/processor/DefaultErrorHandlerTest.java | 4 +-
.../DefinitionPolicyPerProcessorTest.java | 6 +-
.../camel/processor/PolicyPerProcessorTest.java | 6 +-
.../apache/camel/processor/PolicyPerRouteTest.java | 6 +-
...pientListContextScopedOnExceptionIssueTest.java | 4 +-
.../apache/camel/processor/ResequencerTest.java | 4 +-
...utingSlipContextScopedOnExceptionIssueTest.java | 4 +-
.../camel/processor/SimpleMockTwoRoutesTest.java | 6 +-
.../camel/processor/StreamResequencerTest.java | 4 +-
.../processor/async/AsyncEndpointPolicyTest.java | 6 +-
.../errorhandler/ErrorHandlerSupportTest.java | 18 +-
.../DefaultExceptionPolicyStrategyTest.java | 7 +-
...xtScopedOnExceptionCorrectRouteContextTest.java | 4 +-
.../apache/camel/reifier/ProcessorReifierTest.java | 6 +-
.../DefaultManagementObjectNameStrategy.java | 15 +-
.../DefaultManagementObjectStrategy.java | 67 ++-
.../management/JmxManagementLifecycleStrategy.java | 53 +-
.../management/mbean/ManagedErrorHandler.java | 16 +-
.../camel/management/mbean/ManagedRoute.java | 14 +-
.../camel/management/ManagedCustomPolicyTest.java | 6 +-
.../org/apache/camel/support/ExchangeHelper.java | 25 +-
.../camel/support/LifecycleStrategySupport.java | 17 +-
.../org/apache/camel/support/MessageHelper.java | 11 +-
.../camel/support/builder/ExpressionBuilder.java | 13 +-
177 files changed, 1589 insertions(+), 2002 deletions(-)
diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionErrorHandlerReifier.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionErrorHandlerReifier.java
index 252e3ee..012d113 100644
--- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionErrorHandlerReifier.java
+++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionErrorHandlerReifier.java
@@ -28,7 +28,7 @@ import org.apache.camel.reifier.TransactedReifier;
import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
import org.apache.camel.spi.ExecutorServiceManager;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.spi.ThreadPoolProfile;
import org.apache.camel.spi.TransactedPolicy;
import org.apache.camel.util.ObjectHelper;
@@ -44,8 +44,8 @@ public class JtaTransactionErrorHandlerReifier extends ErrorHandlerReifier<JtaTr
private static final Logger LOG = LoggerFactory.getLogger(JtaTransactionErrorHandlerReifier.class);
- public JtaTransactionErrorHandlerReifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- super(routeContext, (JtaTransactionErrorHandlerBuilder) definition);
+ public JtaTransactionErrorHandlerReifier(Route route, ErrorHandlerFactory definition) {
+ super(route, (JtaTransactionErrorHandlerBuilder) definition);
}
@Override
diff --git a/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java b/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java
index 124a483..9add464 100644
--- a/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java
+++ b/components/camel-cdi/src/main/java/org/apache/camel/cdi/transaction/JtaTransactionPolicy.java
@@ -27,7 +27,7 @@ import org.apache.camel.builder.ErrorHandlerBuilderRef;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.spi.TransactedPolicy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -51,7 +51,7 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
protected TransactionManager transactionManager;
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// do not inherit since we create our own
// (otherwise the default error handler would be used two times
// because we inherit it on our own but only in case of a
@@ -62,7 +62,7 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
public abstract void run(Runnable runnable) throws Throwable;
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
JtaTransactionErrorHandler answer;
// the goal is to configure the error handler builder on the route as a
// transacted error handler. If the configured builder is not transacted,
@@ -74,8 +74,8 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
// we only need one transacted error handler
// find the existing error handler builder
- RouteDefinition route = (RouteDefinition) routeContext.getRoute();
- ErrorHandlerBuilder builder = (ErrorHandlerBuilder) route.getErrorHandlerFactory();
+ RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
+ ErrorHandlerBuilder builder = (ErrorHandlerBuilder) routeDefinition.getErrorHandlerFactory();
// check if its a ref if so then do a lookup
if (builder instanceof ErrorHandlerBuilderRef) {
@@ -87,7 +87,7 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
// and if so then we can safely replace that with our transacted error handler
if (ErrorHandlerReifier.isErrorHandlerFactoryConfigured(ref)) {
LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
- builder = (ErrorHandlerBuilder) ErrorHandlerReifier.lookupErrorHandlerFactory(routeContext, ref);
+ builder = (ErrorHandlerBuilder) ErrorHandlerReifier.lookupErrorHandlerFactory(route, ref);
}
}
@@ -110,23 +110,23 @@ public abstract class JtaTransactionPolicy implements TransactedPolicy {
// use error handlers from the configured builder
if (builder != null) {
- routeContext.addErrorHandlerFactoryReference(builder, txBuilder);
+ route.addErrorHandlerFactoryReference(builder, txBuilder);
}
- answer = createTransactionErrorHandler(routeContext, processor, txBuilder);
+ answer = createTransactionErrorHandler(route, processor, txBuilder);
// set the route to use our transacted error handler builder
- route.setErrorHandlerFactory(txBuilder);
+ routeDefinition.setErrorHandlerFactory(txBuilder);
// return with wrapped transacted error handler
return answer;
}
- protected JtaTransactionErrorHandler createTransactionErrorHandler(RouteContext routeContext, Processor processor,
- ErrorHandlerBuilder builder) {
+ protected JtaTransactionErrorHandler createTransactionErrorHandler(Route route, Processor processor,
+ ErrorHandlerBuilder builder) {
JtaTransactionErrorHandler answer;
try {
- answer = (JtaTransactionErrorHandler) ErrorHandlerReifier.reifier(routeContext, builder).createErrorHandler(processor);
+ answer = (JtaTransactionErrorHandler) ErrorHandlerReifier.reifier(route, builder).createErrorHandler(processor);
} catch (Exception e) {
throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
diff --git a/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java b/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
index 072a0e0..dc5ad47 100644
--- a/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
+++ b/components/camel-controlbus/src/main/java/org/apache/camel/component/controlbus/ControlBusProducer.java
@@ -28,8 +28,6 @@ import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.spi.CamelLogger;
import org.apache.camel.spi.Language;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.support.DefaultAsyncProducer;
import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.util.ObjectHelper;
@@ -93,20 +91,6 @@ public class ControlBusProducer extends DefaultAsyncProducer {
}
}
- private static String getRouteId(Exchange exchange) {
- String answer = null;
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- answer = rc.getRouteId();
- }
- if (answer == null) {
- // fallback and get from route id on the exchange
- answer = exchange.getFromRouteId();
- }
- return answer;
- }
-
/**
* Tasks to run when processing by language.
*/
@@ -166,7 +150,7 @@ public class ControlBusProducer extends DefaultAsyncProducer {
String id = getEndpoint().getRouteId();
if (ObjectHelper.equal("current", id)) {
- id = getRouteId(exchange);
+ id = ExchangeHelper.getRouteId(exchange);
}
Object result = null;
diff --git a/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixProcessorFactory.java b/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixProcessorFactory.java
index bb12022..12bd23f 100644
--- a/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixProcessorFactory.java
+++ b/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixProcessorFactory.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.hystrix.processor;
import org.apache.camel.Processor;
import org.apache.camel.impl.engine.TypedProcessorFactory;
import org.apache.camel.model.CircuitBreakerDefinition;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
/**
* To integrate camel-hystrix with the Camel routes using the Hystrix EIP.
@@ -31,8 +31,8 @@ public class HystrixProcessorFactory extends TypedProcessorFactory<CircuitBreake
}
@Override
- public Processor doCreateProcessor(RouteContext routeContext, CircuitBreakerDefinition definition) throws Exception {
- return new HystrixReifier(routeContext, definition).createProcessor();
+ public Processor doCreateProcessor(Route route, CircuitBreakerDefinition definition) throws Exception {
+ return new HystrixReifier(route, definition).createProcessor();
}
}
diff --git a/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixReifier.java b/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixReifier.java
index 1ea7251..a67b314 100644
--- a/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixReifier.java
+++ b/components/camel-hystrix/src/main/java/org/apache/camel/component/hystrix/processor/HystrixReifier.java
@@ -34,14 +34,14 @@ import org.apache.camel.model.HystrixConfigurationDefinition;
import org.apache.camel.model.Model;
import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.spi.BeanIntrospection;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.PropertyBindingSupport;
import org.apache.camel.util.function.Suppliers;
public class HystrixReifier extends ProcessorReifier<CircuitBreakerDefinition> {
- public HystrixReifier(RouteContext routeContext, CircuitBreakerDefinition definition) {
- super(routeContext, definition);
+ public HystrixReifier(Route route, CircuitBreakerDefinition definition) {
+ super(route, definition);
}
@Override
@@ -50,7 +50,7 @@ public class HystrixReifier extends ProcessorReifier<CircuitBreakerDefinition> {
Processor processor = createChildProcessor(true);
Processor fallback = null;
if (definition.getOnFallback() != null) {
- fallback = ProcessorReifier.reifier(routeContext, definition.getOnFallback()).createProcessor();
+ fallback = ProcessorReifier.reifier(route, definition.getOnFallback()).createProcessor();
}
final HystrixConfigurationDefinition config = buildHystrixConfiguration();
diff --git a/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigTest.java b/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigTest.java
index 765360a..1d2a06f 100644
--- a/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigTest.java
+++ b/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixHierarchicalConfigTest.java
@@ -18,11 +18,11 @@ package org.apache.camel.component.hystrix.processor;
import org.apache.camel.CamelContext;
import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.DefaultRouteContext;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.model.CircuitBreakerDefinition;
import org.apache.camel.model.HystrixConfigurationDefinition;
import org.apache.camel.model.Model;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.SimpleRegistry;
import org.junit.Assert;
import org.junit.Test;
@@ -33,7 +33,7 @@ public class HystrixHierarchicalConfigTest {
public void testRegistryConfiguration() throws Exception {
final SimpleRegistry registry = new SimpleRegistry();
final CamelContext context = new DefaultCamelContext(registry);
- final RouteContext routeContext = new DefaultRouteContext(context, null, null);
+ final Route route = new DefaultRoute(context, null, null, null);
HystrixConfigurationDefinition def = new HystrixConfigurationDefinition();
def.setGroupKey("global-group-key");
@@ -47,7 +47,7 @@ public class HystrixHierarchicalConfigTest {
registry.bind(HystrixConstants.DEFAULT_HYSTRIX_CONFIGURATION_ID, def);
registry.bind("ref-hystrix", ref);
- final HystrixReifier reifier = new HystrixReifier(routeContext,
+ final HystrixReifier reifier = new HystrixReifier(route,
new CircuitBreakerDefinition()
.configuration("ref-hystrix")
.hystrixConfiguration()
@@ -65,7 +65,7 @@ public class HystrixHierarchicalConfigTest {
@Test
public void testContextConfiguration() throws Exception {
final CamelContext context = new DefaultCamelContext();
- final RouteContext routeContext = new DefaultRouteContext(context, null, null);
+ final Route route = new DefaultRoute(context, null, null, null);
HystrixConfigurationDefinition def = new HystrixConfigurationDefinition();
def.setGroupKey("global-group-key");
@@ -79,7 +79,7 @@ public class HystrixHierarchicalConfigTest {
context.getExtension(Model.class).setHystrixConfiguration(def);
context.getExtension(Model.class).addHystrixConfiguration("ref-hystrix", ref);
- final HystrixReifier reifier = new HystrixReifier(routeContext,
+ final HystrixReifier reifier = new HystrixReifier(route,
new CircuitBreakerDefinition()
.configuration("ref-hystrix")
.hystrixConfiguration()
@@ -98,7 +98,7 @@ public class HystrixHierarchicalConfigTest {
public void testMixedConfiguration() throws Exception {
final SimpleRegistry registry = new SimpleRegistry();
final CamelContext context = new DefaultCamelContext(registry);
- final RouteContext routeContext = new DefaultRouteContext(context, null, null);
+ final Route route = new DefaultRoute(context, null, null, null);
HystrixConfigurationDefinition def = new HystrixConfigurationDefinition();
def.setGroupKey("global-group-key");
@@ -120,7 +120,7 @@ public class HystrixHierarchicalConfigTest {
registry.bind(HystrixConstants.DEFAULT_HYSTRIX_CONFIGURATION_ID, defReg);
registry.bind("ref-hystrix", ref);
- final HystrixReifier reifier = new HystrixReifier(routeContext,
+ final HystrixReifier reifier = new HystrixReifier(route,
new CircuitBreakerDefinition()
.configuration("ref-hystrix")
.hystrixConfiguration()
diff --git a/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/SpringHystrixRouteHierarchicalConfigTest.java b/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/SpringHystrixRouteHierarchicalConfigTest.java
index 105b3e2..bf254bd 100644
--- a/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/SpringHystrixRouteHierarchicalConfigTest.java
+++ b/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/SpringHystrixRouteHierarchicalConfigTest.java
@@ -17,11 +17,11 @@
package org.apache.camel.component.hystrix.processor;
import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.impl.DefaultRouteContext;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.model.CircuitBreakerDefinition;
import org.apache.camel.model.HystrixConfigurationDefinition;
import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.test.spring.CamelSpringTestSupport;
import org.junit.Assert;
import org.junit.Test;
@@ -39,13 +39,13 @@ public class SpringHystrixRouteHierarchicalConfigTest extends CamelSpringTestSup
@Test
public void testHystrix() throws Exception {
RouteDefinition routeDefinition = context.getRouteDefinition("hystrix-route");
- final RouteContext routeContext = new DefaultRouteContext(context, routeDefinition,
- routeDefinition.idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory()));
+ final Route route = new DefaultRoute(context, routeDefinition,
+ routeDefinition.idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory()), null);
CircuitBreakerDefinition hystrixDefinition = findCircuitBreakerDefinition(routeDefinition);
Assert.assertNotNull(hystrixDefinition);
- HystrixReifier reifier = new HystrixReifier(routeContext, hystrixDefinition);
+ HystrixReifier reifier = new HystrixReifier(route, hystrixDefinition);
HystrixConfigurationDefinition config = reifier.buildHystrixConfiguration();
Assert.assertEquals("local-conf-group-key", config.getGroupKey());
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java
index c3f092f..6bdc82d 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/policy/InfinispanRoutePolicy.java
@@ -112,7 +112,7 @@ public class InfinispanRoutePolicy extends RoutePolicySupport implements CamelCo
super.onInit(route);
LOGGER.info("Route managed by {}. Setting route {} AutoStartup flag to false.", getClass(), route.getId());
- route.getRouteContext().setAutoStartup(false);
+ route.setAutoStartup(false);
stoppeddRoutes.add(route);
diff --git a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java
index 5fb6db2..981f20e 100644
--- a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java
+++ b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/policy/JCachePolicy.java
@@ -28,7 +28,7 @@ import org.apache.camel.Expression;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -57,12 +57,12 @@ public class JCachePolicy implements Policy {
private boolean enabled = true;
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode namedNode) {
+ public void beforeWrap(Route route, NamedNode namedNode) {
}
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
//Don't add JCachePolicyProcessor if JCachePolicy is disabled. This means enable/disable has impact only during startup
if (!isEnabled()) {
return processor;
@@ -77,7 +77,7 @@ public class JCachePolicy implements Policy {
//Lookup CacheManager from CamelContext if it's not set
if (cacheManager == null) {
- Set<CacheManager> lookupResult = routeContext.getCamelContext().getRegistry().findByType(CacheManager.class);
+ Set<CacheManager> lookupResult = route.getCamelContext().getRegistry().findByType(CacheManager.class);
if (ObjectHelper.isNotEmpty(lookupResult)) {
//Use the first cache manager found
@@ -93,7 +93,7 @@ public class JCachePolicy implements Policy {
}
//Use routeId as cacheName if it's not set
- String cacheName = ObjectHelper.isNotEmpty(this.cacheName) ? this.cacheName : routeContext.getRouteId();
+ String cacheName = ObjectHelper.isNotEmpty(this.cacheName) ? this.cacheName : route.getRouteId();
LOG.debug("Getting cache:{}", cacheName);
//Get cache or create a new one using the cacheConfiguration
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/AbstractTransactionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/AbstractTransactionTest.java
index b8f97e3..99dc9d0 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/AbstractTransactionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/AbstractTransactionTest.java
@@ -21,7 +21,7 @@ import org.apache.camel.DelegateProcessor;
import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.builder.NotifyBuilder;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.Pipeline;
import org.apache.camel.processor.errorhandler.DeadLetterChannel;
import org.apache.camel.processor.errorhandler.DefaultErrorHandler;
@@ -78,7 +78,7 @@ public abstract class AbstractTransactionTest extends CamelSpringTestSupport {
protected ConditionalExceptionProcessor getConditionalExceptionProcessor(Route route) {
// the following is very specific (and brittle) and is not generally
// useful outside these transaction tests (nor intended to be).
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Processor processor = findProcessorByClass(consumerRoute.getProcessor(), ConditionalExceptionProcessor.class);
return assertIsInstanceOf(ConditionalExceptionProcessor.class, processor);
}
diff --git a/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledJob.java b/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledJob.java
index 63a7d12..cf5ee0e 100644
--- a/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledJob.java
+++ b/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledJob.java
@@ -43,7 +43,7 @@ public class ScheduledJob implements Job, Serializable, ScheduledRoutePolicyCons
Action storedAction = state.getAction();
Route storedRoute = state.getRoute();
- List<RoutePolicy> policyList = storedRoute.getRouteContext().getRoutePolicyList();
+ List<RoutePolicy> policyList = storedRoute.getRoutePolicyList();
for (RoutePolicy policy : policyList) {
try {
if (policy instanceof ScheduledRoutePolicy) {
diff --git a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceProcessorFactory.java b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceProcessorFactory.java
index bcf91c4..3da7d3c 100644
--- a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceProcessorFactory.java
+++ b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceProcessorFactory.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.resilience4j;
import org.apache.camel.Processor;
import org.apache.camel.impl.engine.TypedProcessorFactory;
import org.apache.camel.model.CircuitBreakerDefinition;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
/**
* To integrate camel-resilience4j with the Camel routes using the Circuit
@@ -32,8 +32,8 @@ public class ResilienceProcessorFactory extends TypedProcessorFactory<CircuitBre
}
@Override
- public Processor doCreateProcessor(RouteContext routeContext, CircuitBreakerDefinition definition) throws Exception {
- return new ResilienceReifier(routeContext, definition).createProcessor();
+ public Processor doCreateProcessor(Route route, CircuitBreakerDefinition definition) throws Exception {
+ return new ResilienceReifier(route, definition).createProcessor();
}
}
diff --git a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
index f725db8..ec0b35c 100644
--- a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
+++ b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceReifier.java
@@ -34,14 +34,14 @@ import org.apache.camel.model.Resilience4jConfigurationCommon;
import org.apache.camel.model.Resilience4jConfigurationDefinition;
import org.apache.camel.reifier.ProcessorReifier;
import org.apache.camel.spi.BeanIntrospection;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.PropertyBindingSupport;
import org.apache.camel.util.function.Suppliers;
public class ResilienceReifier extends ProcessorReifier<CircuitBreakerDefinition> {
- public ResilienceReifier(RouteContext routeContext, CircuitBreakerDefinition definition) {
- super(routeContext, definition);
+ public ResilienceReifier(Route route, CircuitBreakerDefinition definition) {
+ super(route, definition);
}
@Override
@@ -50,7 +50,7 @@ public class ResilienceReifier extends ProcessorReifier<CircuitBreakerDefinition
Processor processor = createChildProcessor(true);
Processor fallback = null;
if (definition.getOnFallback() != null) {
- fallback = ProcessorReifier.reifier(routeContext, definition.getOnFallback()).createProcessor();
+ fallback = ProcessorReifier.reifier(route, definition.getOnFallback()).createProcessor();
}
boolean fallbackViaNetwork = definition.getOnFallback() != null && parseBoolean(definition.getOnFallback().getFallbackViaNetwork(), false);
if (fallbackViaNetwork) {
diff --git a/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java b/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
index 1b342e0..568bc9b 100644
--- a/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
+++ b/components/camel-shiro/src/main/java/org/apache/camel/component/shiro/security/ShiroSecurityPolicy.java
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.spi.AuthorizationPolicy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.Permission;
import org.apache.shiro.config.Ini;
@@ -99,14 +99,14 @@ public class ShiroSecurityPolicy implements AuthorizationPolicy {
}
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// noop
}
@Override
- public Processor wrap(RouteContext routeContext, final Processor processor) {
+ public Processor wrap(Route route, final Processor processor) {
if (LOG.isDebugEnabled()) {
- LOG.debug("Securing route {} using Shiro policy {}", routeContext.getRouteId(), this);
+ LOG.debug("Securing route {} using Shiro policy {}", route.getRouteId(), this);
}
return new ShiroSecurityProcessor(processor, this);
}
diff --git a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
index 339101e..143d6ab 100644
--- a/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
+++ b/components/camel-spring-security/src/main/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicy.java
@@ -27,7 +27,7 @@ import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.model.IdentifiedType;
import org.apache.camel.spi.AuthorizationPolicy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.processor.DelegateProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,11 +56,11 @@ public class SpringSecurityAuthorizationPolicy extends IdentifiedType implements
private boolean useThreadSecurityContext = true;
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
}
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
// wrap the processor with authorizeDelegateProcessor
return new AuthorizeDelegateProcess(processor);
}
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
index cf87eeb..4681af6 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringTransactionPolicy.java
@@ -23,7 +23,7 @@ import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.builder.ErrorHandlerBuilderRef;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.spi.TransactedPolicy;
import org.apache.camel.spi.annotations.JdkService;
import org.apache.camel.util.ObjectHelper;
@@ -57,11 +57,11 @@ public class SpringTransactionPolicy implements TransactedPolicy {
}
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
}
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
TransactionErrorHandler answer;
// the goal is to configure the error handler builder on the route as a transacted error handler,
@@ -71,8 +71,8 @@ public class SpringTransactionPolicy implements TransactedPolicy {
// if we should not support this we do not need to wrap the processor as we only need one transacted error handler
// find the existing error handler builder
- RouteDefinition route = (RouteDefinition) routeContext.getRoute();
- ErrorHandlerBuilder builder = (ErrorHandlerBuilder) route.getErrorHandlerFactory();
+ RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
+ ErrorHandlerBuilder builder = (ErrorHandlerBuilder) routeDefinition.getErrorHandlerFactory();
// check if its a ref if so then do a lookup
if (builder instanceof ErrorHandlerBuilderRef) {
@@ -84,14 +84,14 @@ public class SpringTransactionPolicy implements TransactedPolicy {
// and if so then we can safely replace that with our transacted error handler
if (ErrorHandlerReifier.isErrorHandlerFactoryConfigured(ref)) {
LOG.debug("Looking up ErrorHandlerBuilder with ref: {}", ref);
- builder = (ErrorHandlerBuilder) ErrorHandlerReifier.lookupErrorHandlerFactory(routeContext, ref);
+ builder = (ErrorHandlerBuilder) ErrorHandlerReifier.lookupErrorHandlerFactory(route, ref);
}
}
if (builder != null && builder.supportTransacted()) {
// already a TX error handler then we are good to go
LOG.debug("The ErrorHandlerBuilder configured is already a TransactionErrorHandlerBuilder: {}", builder);
- answer = createTransactionErrorHandler(routeContext, processor, builder);
+ answer = createTransactionErrorHandler(route, processor, builder);
} else {
// no transaction error handler builder configure so create a temporary one as we got all
// the needed information form the configured builder anyway this allow us to use transacted
@@ -106,22 +106,22 @@ public class SpringTransactionPolicy implements TransactedPolicy {
txBuilder.setSpringTransactionPolicy(this);
if (builder != null) {
// use error handlers from the configured builder
- routeContext.addErrorHandlerFactoryReference(builder, txBuilder);
+ route.addErrorHandlerFactoryReference(builder, txBuilder);
}
- answer = createTransactionErrorHandler(routeContext, processor, txBuilder);
+ answer = createTransactionErrorHandler(route, processor, txBuilder);
// set the route to use our transacted error handler builder
- route.setErrorHandlerFactory(txBuilder);
+ routeDefinition.setErrorHandlerFactory(txBuilder);
}
// return with wrapped transacted error handler
return answer;
}
- protected TransactionErrorHandler createTransactionErrorHandler(RouteContext routeContext, Processor processor, ErrorHandlerBuilder builder) {
+ protected TransactionErrorHandler createTransactionErrorHandler(Route route, Processor processor, ErrorHandlerBuilder builder) {
TransactionErrorHandler answer;
try {
- answer = (TransactionErrorHandler) ErrorHandlerReifier.reifier(routeContext, builder).createErrorHandler(processor);
+ answer = (TransactionErrorHandler) ErrorHandlerReifier.reifier(route, builder).createErrorHandler(processor);
} catch (Exception e) {
throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java
index 3aa044a..62ad792 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java
@@ -16,17 +16,10 @@
*/
package org.apache.camel.spring.spi;
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
import org.apache.camel.LoggingLevel;
-import org.apache.camel.Processor;
import org.apache.camel.builder.DefaultErrorHandlerBuilder;
import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
import org.apache.camel.spi.CamelLogger;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.TransactedPolicy;
-import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.PlatformTransactionManager;
diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
index 1aa68ca..82a2de7 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerReifier.java
@@ -21,7 +21,7 @@ import java.util.Map;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Processor;
import org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.spi.TransactedPolicy;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
@@ -35,8 +35,8 @@ public class TransactionErrorHandlerReifier extends DefaultErrorHandlerReifier<T
private static final Logger LOG = LoggerFactory.getLogger(TransactionErrorHandlerReifier.class);
- public TransactionErrorHandlerReifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- super(routeContext, definition);
+ public TransactionErrorHandlerReifier(Route route, ErrorHandlerFactory definition) {
+ super(route, definition);
}
@Override
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java
index 6fb82ac..5de6bd6 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/config/CamelContextFactoryBeanTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.api.management.JmxSystemPropertyKeys;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.spring.SpringCamelContext;
import org.apache.camel.util.IOHelper;
import org.junit.After;
@@ -103,7 +103,7 @@ public class CamelContextFactoryBeanTest extends XmlConfigTestSupport {
for (Route route : routes) {
Endpoint key = route.getEndpoint();
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Processor processor = consumerRoute.getProcessor();
assertNotNull(processor);
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/config/DummyErrorHandlerBuilder.java b/components/camel-spring/src/test/java/org/apache/camel/spring/config/DummyErrorHandlerBuilder.java
index c7d4764..614c970 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/config/DummyErrorHandlerBuilder.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/config/DummyErrorHandlerBuilder.java
@@ -22,7 +22,7 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.builder.ErrorHandlerBuilderSupport;
import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.processor.DelegateProcessor;
import org.springframework.beans.factory.BeanNameAware;
@@ -58,8 +58,8 @@ public class DummyErrorHandlerBuilder extends ErrorHandlerBuilderSupport impleme
public static class DummyErrorHandlerReifier extends ErrorHandlerReifier<DummyErrorHandlerBuilder> {
- public DummyErrorHandlerReifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- super(routeContext, (DummyErrorHandlerBuilder) definition);
+ public DummyErrorHandlerReifier(Route route, ErrorHandlerFactory definition) {
+ super(route, (DummyErrorHandlerBuilder) definition);
}
@Override
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/config/ErrorHandlerTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/config/ErrorHandlerTest.java
index 3b98041..e72ea39 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/config/ErrorHandlerTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/config/ErrorHandlerTest.java
@@ -20,7 +20,7 @@ import java.util.List;
import org.apache.camel.Channel;
import org.apache.camel.Route;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.errorhandler.DeadLetterChannel;
import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
import org.apache.camel.spring.SpringCamelContext;
@@ -42,7 +42,7 @@ public class ErrorHandlerTest extends SpringTestSupport {
List<Route> list = context.getRoutes();
assertEquals("Number routes created" + list, 2, list.size());
for (Route route : list) {
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumerRoute.getProcessor());
DeadLetterChannel deadLetterChannel = assertIsInstanceOf(DeadLetterChannel.class, channel.getErrorHandler());
diff --git a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
index 017b8b7..19116f9 100644
--- a/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
+++ b/components/camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java
@@ -49,12 +49,11 @@ import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.spi.CamelEvent;
import org.apache.camel.spi.CamelEvent.ExchangeSendingEvent;
import org.apache.camel.spi.CamelEvent.ExchangeSentEvent;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
-import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.support.EndpointHelper;
import org.apache.camel.support.EventNotifierSupport;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.PatternHelper;
import org.apache.camel.support.RoutePolicySupport;
import org.apache.camel.support.service.ServiceHelper;
@@ -809,16 +808,7 @@ public class ZipkinTracer extends ServiceSupport implements RoutePolicyFactory,
return new Expression() {
@Override
public <T> T evaluate(Exchange exchange, Class<T> type) {
- String answer = null;
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- answer = rc.getRouteId();
- }
- if (answer == null) {
- // fallback and get from route id on the exchange
- answer = exchange.getFromRouteId();
- }
+ String answer = ExchangeHelper.getRouteId(exchange);
return type.cast(answer);
}
};
diff --git a/core/camel-api/src/main/java/org/apache/camel/Channel.java b/core/camel-api/src/main/java/org/apache/camel/Channel.java
index bdfcbfb..c425b80 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Channel.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Channel.java
@@ -16,8 +16,6 @@
*/
package org.apache.camel;
-import org.apache.camel.spi.RouteContext;
-
/**
* Channel acts as a channel between {@link Processor}s in the route graph.
* <p/>
@@ -47,11 +45,11 @@ public interface Channel extends AsyncProcessor, Navigate<Processor> {
Processor getNextProcessor();
/**
- * Gets the {@link RouteContext}
+ * Gets the {@link Route}
*
* @return the route context
*/
- RouteContext getRouteContext();
+ Route getRoute();
/**
* Gets the definition of the next processor
diff --git a/core/camel-api/src/main/java/org/apache/camel/Route.java b/core/camel-api/src/main/java/org/apache/camel/Route.java
index 30cb281..c596ef2 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Route.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Route.java
@@ -18,8 +18,13 @@ package org.apache.camel;
import java.util.List;
import java.util.Map;
+import java.util.Set;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.spi.InterceptStrategy;
+import org.apache.camel.spi.ManagementInterceptStrategy;
+import org.apache.camel.spi.RouteController;
+import org.apache.camel.spi.RouteError;
+import org.apache.camel.spi.RoutePolicy;
/**
* A <a href="http://camel.apache.org/routes.html">Route</a>
@@ -30,7 +35,7 @@ import org.apache.camel.spi.RouteContext;
* such as starting and stopping using the {@link org.apache.camel.spi.RouteController#startRoute(String)}
* and {@link org.apache.camel.spi.RouteController#stopRoute(String)} methods.
*/
-public interface Route extends EndpointAware {
+public interface Route extends RuntimeConfiguration {
String ID_PROPERTY = "id";
String CUSTOM_ID_PROPERTY = "customId";
@@ -105,18 +110,18 @@ public interface Route extends EndpointAware {
String getDescription();
/**
- * Gets the route context
+ * Gets the camel context
*
- * @return the route context
+ * @return the camel context
*/
- RouteContext getRouteContext();
+ CamelContext getCamelContext();
/**
- * Gets the camel context
+ * Gets the input endpoint for this route.
*
- * @return the camel context
+ * @return the endpoint
*/
- CamelContext getCamelContext();
+ Endpoint getEndpoint();
/**
* A strategy callback allowing special initialization when services are starting.
@@ -160,4 +165,146 @@ public interface Route extends EndpointAware {
*/
void warmUp();
+ /**
+ * Gets the last error.
+ *
+ * @return the error
+ */
+ RouteError getLastError();
+
+ /**
+ * Sets the last error.
+ *
+ * @param error the error
+ */
+ void setLastError(RouteError error);
+
+ Integer getStartupOrder();
+
+ void setStartupOrder(Integer startupOrder);
+
+ /**
+ * Gets the {@link RouteController} for this route.
+ *
+ * @return the route controller,
+ */
+ RouteController getRouteController();
+
+ /**
+ * Sets the {@link RouteController} for this route.
+ *
+ * @param controller the RouteController
+ */
+ void setRouteController(RouteController controller);
+
+ /**
+ * Sets whether the route should automatically start when Camel starts.
+ * <p/>
+ * Default is <tt>true</tt> to always start up.
+ *
+ * @param autoStartup whether to start up automatically.
+ */
+ void setAutoStartup(Boolean autoStartup);
+
+ /**
+ * Gets whether the route should automatically start when Camel starts.
+ * <p/>
+ * Default is <tt>true</tt> to always start up.
+ *
+ * @return <tt>true</tt> if route should automatically start
+ */
+ Boolean isAutoStartup();
+
+ /**
+ * Gets the route id
+ */
+ String getRouteId();
+
+ /**
+ * Get the route type
+ *
+ * @return the route type
+ */
+ NamedNode getRoute();
+
+ //
+ // CREATION TIME
+ //
+
+ /**
+ * This method retrieves the event driven Processors on this route context.
+ * @return
+ */
+ List<Processor> getEventDrivenProcessors();
+
+ /**
+ * This method retrieves the InterceptStrategy instances this route context.
+ *
+ * @return the strategy
+ */
+ List<InterceptStrategy> getInterceptStrategies();
+
+ /**
+ * Sets a special intercept strategy for management.
+ * <p/>
+ * Is by default used to correlate managed performance counters with processors
+ * when the runtime route is being constructed
+ *
+ * @param interceptStrategy the managed intercept strategy
+ */
+ void setManagementInterceptStrategy(ManagementInterceptStrategy interceptStrategy);
+
+ /**
+ * Gets the special managed intercept strategy if any
+ *
+ * @return the managed intercept strategy, or <tt>null</tt> if not managed
+ */
+ ManagementInterceptStrategy getManagementInterceptStrategy();
+
+ /**
+ * Gets the route policy List
+ *
+ * @return the route policy list if any
+ */
+ List<RoutePolicy> getRoutePolicyList();
+
+ void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory);
+
+ ErrorHandlerFactory getErrorHandlerFactory();
+
+ Processor createErrorHandler(Processor processor) throws Exception;
+
+ // called at runtime
+ Processor getOnCompletion(String onCompletionId);
+
+ // called at completion time
+ void setOnCompletion(String onCompletionId, Processor processor);
+
+ Processor getOnException(String onExceptionId);
+
+ void setOnException(String onExceptionId, Processor processor);
+
+ /**
+ * Adds error handler for the given exception type
+ *
+ * @param factory the error handler factory
+ * @param exception the exception to handle
+ */
+ void addErrorHandler(ErrorHandlerFactory factory, NamedNode exception);
+
+ /**
+ * Gets the error handlers
+ *
+ * @param factory the error handler factory
+ */
+ Set<NamedNode> getErrorHandlers(ErrorHandlerFactory factory);
+
+ /**
+ * Link the error handlers from a factory to another
+ *
+ * @param source the source factory
+ * @param target the target factory
+ */
+ void addErrorHandlerFactoryReference(ErrorHandlerFactory source, ErrorHandlerFactory target);
+
}
diff --git a/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java b/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java
index 4edbd32..b1bca1e 100644
--- a/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java
+++ b/core/camel-api/src/main/java/org/apache/camel/RuntimeConfiguration.java
@@ -17,7 +17,7 @@
package org.apache.camel;
/**
- * Various runtime configuration options used by {@link org.apache.camel.CamelContext} and {@link org.apache.camel.spi.RouteContext}
+ * Various runtime configuration options used by {@link org.apache.camel.CamelContext} and {@link Route}
* for cross cutting functions such as tracing, delayer, stream cache and the like.
*/
public interface RuntimeConfiguration {
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/LifecycleStrategy.java b/core/camel-api/src/main/java/org/apache/camel/spi/LifecycleStrategy.java
index 6a3fd00..6f5349b 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/LifecycleStrategy.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/LifecycleStrategy.java
@@ -86,7 +86,7 @@ public interface LifecycleStrategy {
* @param service the added service
* @param route the route the service belongs to if any possible to determine
*/
- void onServiceAdd(CamelContext context, Service service, Route route);
+ void onServiceAdd(CamelContext context, Service service, org.apache.camel.Route route);
/**
* Notification on removing a {@link Service}.
@@ -95,46 +95,46 @@ public interface LifecycleStrategy {
* @param service the removed service
* @param route the route the service belongs to if any possible to determine
*/
- void onServiceRemove(CamelContext context, Service service, Route route);
+ void onServiceRemove(CamelContext context, Service service, org.apache.camel.Route route);
/**
- * Notification on adding {@link Route}(s).
+ * Notification on adding {@link org.apache.camel.Route}(s).
*
* @param routes the added routes
*/
- void onRoutesAdd(Collection<Route> routes);
+ void onRoutesAdd(Collection<org.apache.camel.Route> routes);
/**
- * Notification on removing {@link Route}(s).
+ * Notification on removing {@link org.apache.camel.Route}(s).
*
* @param routes the removed routes
*/
- void onRoutesRemove(Collection<Route> routes);
+ void onRoutesRemove(Collection<org.apache.camel.Route> routes);
/**
- * Notification on adding {@link RouteContext}(s).
+ * Notification on adding {@link Route}(s).
*
- * @param routeContext the added route context
+ * @param route the added route context
*/
- void onRouteContextCreate(RouteContext routeContext);
+ void onRouteContextCreate(Route route);
/**
* Notification on adding error handler.
*
- * @param routeContext the added route context
+ * @param route the added route context
* @param errorHandler the error handler
* @param errorHandlerBuilder the error handler builder
*/
- void onErrorHandlerAdd(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder);
+ void onErrorHandlerAdd(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder);
/**
* Notification on removing error handler.
*
- * @param routeContext the removed route context
+ * @param route the removed route context
* @param errorHandler the error handler
* @param errorHandlerBuilder the error handler builder
*/
- void onErrorHandlerRemove(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder);
+ void onErrorHandlerRemove(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder);
/**
* Notification on adding a thread pool.
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectNameStrategy.java b/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectNameStrategy.java
index b83ca38..1656ff8 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectNameStrategy.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectNameStrategy.java
@@ -54,7 +54,7 @@ public interface ManagementObjectNameStrategy {
ObjectName getObjectNameForDataFormat(CamelContext context, DataFormat endpoint) throws MalformedObjectNameException;
- ObjectName getObjectNameForErrorHandler(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory builder) throws MalformedObjectNameException;
+ ObjectName getObjectNameForErrorHandler(Route route, Processor errorHandler, ErrorHandlerFactory builder) throws MalformedObjectNameException;
ObjectName getObjectNameForProcessor(CamelContext context, Processor processor, NamedNode definition) throws MalformedObjectNameException;
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java b/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java
index d759d6d..9649519 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ManagementObjectStrategy.java
@@ -45,7 +45,7 @@ public interface ManagementObjectStrategy {
Object getManagedObjectForEndpoint(CamelContext context, Endpoint endpoint);
- Object getManagedObjectForErrorHandler(CamelContext context, RouteContext routeContext,
+ Object getManagedObjectForErrorHandler(CamelContext context, Route route,
Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder);
Object getManagedObjectForRouteController(CamelContext context);
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/Policy.java b/core/camel-api/src/main/java/org/apache/camel/spi/Policy.java
index f235204..070ff61 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/Policy.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/Policy.java
@@ -18,6 +18,7 @@ package org.apache.camel.spi;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
/**
* A strategy capable of applying interceptors to a processor.
@@ -41,17 +42,17 @@ public interface Policy {
* This allows you to do any custom logic before the processor is wrapped. For example to
* manipulate the {@link org.apache.camel.model.ProcessorDefinition definiton}.
*
- * @param routeContext the route context
+ * @param route the route context
* @param definition the processor definition
*/
- void beforeWrap(RouteContext routeContext, NamedNode definition);
+ void beforeWrap(Route route, NamedNode definition);
/**
* Wraps any applicable interceptors around the given processor.
*
- * @param routeContext the route context
+ * @param route the route context
* @param processor the processor to be intercepted
* @return either the original processor or a processor wrapped in one or more processors
*/
- Processor wrap(RouteContext routeContext, Processor processor);
+ Processor wrap(Route route, Processor processor);
}
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/ProcessorFactory.java b/core/camel-api/src/main/java/org/apache/camel/spi/ProcessorFactory.java
index b88cf57..8eaa016 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ProcessorFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ProcessorFactory.java
@@ -21,6 +21,7 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
/**
* A factory to create {@link Processor} based on the {@link org.apache.camel.model.ProcessorDefinition definition}.
@@ -41,23 +42,23 @@ public interface ProcessorFactory {
* <p/>
* The child processor is an output from the given definition, for example the sub route in a splitter EIP.
*
- * @param routeContext the route context
+ * @param route the route context
* @param definition the definition which represents the processor
* @param mandatory whether or not the child is mandatory
* @return the created processor, or <tt>null</tt> to let the default implementation in Camel create the processor.
* @throws Exception can be thrown if error creating the processor
*/
- Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception;
+ Processor createChildProcessor(Route route, NamedNode definition, boolean mandatory) throws Exception;
/**
* Creates the processor.
*
- * @param routeContext the route context
+ * @param route the route context
* @param definition the definition which represents the processor
* @return the created processor, or <tt>null</tt> to let the default implementation in Camel create the processor.
* @throws Exception can be thrown if error creating the processor
*/
- Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception;
+ Processor createProcessor(Route route, NamedNode definition) throws Exception;
/**
* Creates a processor by the name of the definition. This should only be used in some special situations
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/RouteContext.java b/core/camel-api/src/main/java/org/apache/camel/spi/RouteContext.java
deleted file mode 100644
index 39e9b2c..0000000
--- a/core/camel-api/src/main/java/org/apache/camel/spi/RouteContext.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.spi;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointAware;
-import org.apache.camel.ErrorHandlerFactory;
-import org.apache.camel.NamedNode;
-import org.apache.camel.Processor;
-import org.apache.camel.Route;
-import org.apache.camel.RuntimeConfiguration;
-
-/**
- * The context used to activate new routing rules
- */
-public interface RouteContext extends RuntimeConfiguration, EndpointAware {
-
- /**
- * Gets the route id
- */
- String getRouteId();
-
- /**
- * Get the route type
- *
- * @return the route type
- */
- NamedNode getRoute();
-
- /**
- * Gets the camel context
- *
- * @return the camel context
- */
- CamelContext getCamelContext();
-
- /**
- * For completing the route creation, creating a single event driven route
- * for the current from endpoint with any processors required
- */
- Route commit();
-
- /**
- * Adds an event driven processor
- *
- * @param processor the processor
- */
- void addEventDrivenProcessor(Processor processor);
-
- /**
- * This method retrieves the InterceptStrategy instances this route context.
- *
- * @return the strategy
- */
- List<InterceptStrategy> getInterceptStrategies();
-
- /**
- * This method sets the InterceptStrategy instances on this route context.
- *
- * @param interceptStrategies the strategies
- */
- void setInterceptStrategies(List<InterceptStrategy> interceptStrategies);
-
- /**
- * Adds a InterceptStrategy to this route context
- *
- * @param interceptStrategy the strategy
- */
- void addInterceptStrategy(InterceptStrategy interceptStrategy);
-
- /**
- * Sets a special intercept strategy for management.
- * <p/>
- * Is by default used to correlate managed performance counters with processors
- * when the runtime route is being constructed
- *
- * @param interceptStrategy the managed intercept strategy
- */
- void setManagementInterceptStrategy(ManagementInterceptStrategy interceptStrategy);
-
- /**
- * Gets the special managed intercept strategy if any
- *
- * @return the managed intercept strategy, or <tt>null</tt> if not managed
- */
- ManagementInterceptStrategy getManagementInterceptStrategy();
-
- /**
- * If this flag is true, {@link org.apache.camel.reifier.ProcessorReifier#addRoutes(RouteContext)}
- * will not add processor to addEventDrivenProcessor to the RouteContext and it
- * will prevent from adding an EventDrivenRoute.
- *
- * @param value the flag
- */
- void setIsRouteAdded(boolean value);
-
- void setEndpoint(Endpoint endpoint);
-
- /**
- * Returns the isRouteAdded flag
- *
- * @return the flag
- */
- boolean isRouteAdded();
-
- /**
- * Gets the route policy List
- *
- * @return the route policy list if any
- */
- List<RoutePolicy> getRoutePolicyList();
-
- /**
- * Sets a custom route policy List
- *
- * @param routePolicyList the custom route policy list
- */
- void setRoutePolicyList(List<RoutePolicy> routePolicyList);
-
- /**
- * Sets whether the route should automatically start when Camel starts.
- * <p/>
- * Default is <tt>true</tt> to always start up.
- *
- * @param autoStartup whether to start up automatically.
- */
- @Override
- void setAutoStartup(Boolean autoStartup);
-
- /**
- * Gets whether the route should automatically start when Camel starts.
- * <p/>
- * Default is <tt>true</tt> to always start up.
- *
- * @return <tt>true</tt> if route should automatically start
- */
- @Override
- Boolean isAutoStartup();
-
- void setStartupOrder(Integer startupOrder);
-
- Integer getStartupOrder();
-
- void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory);
-
- ErrorHandlerFactory getErrorHandlerFactory();
-
- Processor createErrorHandler(Processor processor) throws Exception;
-
- void addAdvice(CamelInternalProcessorAdvice<?> advice);
-
- void addProperty(String key, Object value);
-
- /**
- * Gets the last error.
- *
- * @return the error
- */
- default RouteError getLastError() {
- return null;
- }
-
- /**
- * Sets the last error.
- *
- * @param error the error
- */
- default void setLastError(RouteError error) {
- }
-
- /**
- * Gets the {@link RouteController} for this route.
- *
- * @return the route controller,
- */
- RouteController getRouteController();
-
- /**
- * Sets the {@link RouteController} for this route.
- *
- * @param controller the RouteController
- */
- void setRouteController(RouteController controller);
-
- Processor getOnCompletion(String onCompletionId);
-
- void setOnCompletion(String onCompletionId, Processor processor);
-
- Processor getOnException(String onExceptionId);
-
- void setOnException(String onExceptionId, Processor processor);
-
- /**
- * Adds error handler for the given exception type
- *
- * @param factory the error handler factory
- * @param exception the exception to handle
- */
- void addErrorHandler(ErrorHandlerFactory factory, NamedNode exception);
-
- /**
- * Gets the error handlers
- *
- * @param factory the error handler factory
- */
- Set<NamedNode> getErrorHandlers(ErrorHandlerFactory factory);
-
- /**
- * Removes the error handlers
- *
- * @param factory the error handler factory
- */
- void removeErrorHandlers(ErrorHandlerFactory factory);
-
- /**
- * Link the error handlers from a factory to another
- *
- * @param source the source factory
- * @param target the target factory
- */
- void addErrorHandlerFactoryReference(ErrorHandlerFactory source, ErrorHandlerFactory target);
-
-}
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/UnitOfWork.java b/core/camel-api/src/main/java/org/apache/camel/spi/UnitOfWork.java
index 14b20b1..f0bf408 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/UnitOfWork.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/UnitOfWork.java
@@ -151,32 +151,32 @@ public interface UnitOfWork extends Service {
void endTransactedBy(Object key);
/**
- * Gets the {@link RouteContext} that this {@link UnitOfWork} currently is being routed through.
+ * Gets the {@link Route} that this {@link UnitOfWork} currently is being routed through.
* <p/>
* Notice that an {@link Exchange} can be routed through multiple routes and thus the
- * {@link org.apache.camel.spi.RouteContext} can change over time.
+ * {@link org.apache.camel.Route} can change over time.
*
- * @return the route context, maybe be <tt>null</tt> if not routed through a route currently.
+ * @return the route, maybe be <tt>null</tt> if not routed through a route currently.
*/
- RouteContext getRouteContext();
+ Route getRoute();
/**
- * Pushes the {@link RouteContext} that this {@link UnitOfWork} currently is being routed through.
+ * Pushes the {@link Route} that this {@link UnitOfWork} currently is being routed through.
* <p/>
* Notice that an {@link Exchange} can be routed through multiple routes and thus the
- * {@link org.apache.camel.spi.RouteContext} can change over time.
+ * {@link org.apache.camel.Route} can change over time.
*
- * @param routeContext the route context
+ * @param route the route
*/
- void pushRouteContext(RouteContext routeContext);
+ void pushRoute(Route route);
/**
- * When finished being routed under the current {@link org.apache.camel.spi.RouteContext}
+ * When finished being routed under the current {@link org.apache.camel.Route}
* it should be removed.
*
- * @return the route context or <tt>null</tt> if none existed
+ * @return the route or <tt>null</tt> if none existed
*/
- RouteContext popRouteContext();
+ Route popRoute();
/**
* Whether the unit of work should call the before/after process methods or not.
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractRouteContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractRouteContext.java
deleted file mode 100644
index 5bf48b0..0000000
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractRouteContext.java
+++ /dev/null
@@ -1,537 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.impl.engine;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.ErrorHandlerFactory;
-import org.apache.camel.NamedNode;
-import org.apache.camel.Processor;
-import org.apache.camel.Route;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.ShutdownRoute;
-import org.apache.camel.ShutdownRunningTask;
-import org.apache.camel.processor.CamelInternalProcessor;
-import org.apache.camel.processor.Pipeline;
-import org.apache.camel.spi.CamelInternalProcessorAdvice;
-import org.apache.camel.spi.InterceptStrategy;
-import org.apache.camel.spi.ManagementInterceptStrategy;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.RouteController;
-import org.apache.camel.spi.RouteError;
-import org.apache.camel.spi.RoutePolicy;
-import org.apache.camel.util.ObjectHelper;
-
-/**
- * The context used to activate new routing rules
- */
-public abstract class AbstractRouteContext implements RouteContext {
-
- private NamedNode route;
- private String routeId;
- private Route runtimeRoute;
- private Endpoint endpoint;
- private final List<Processor> eventDrivenProcessors = new ArrayList<>();
- private CamelContext camelContext;
- private List<InterceptStrategy> interceptStrategies = new ArrayList<>();
- private ManagementInterceptStrategy managementInterceptStrategy;
- private boolean routeAdded;
- private Boolean trace;
- private Boolean backlogTrace;
- private Boolean debug;
- private Boolean messageHistory;
- private Boolean logMask;
- private Boolean logExhaustedMessageBody;
- private Boolean streamCache;
- private Long delay;
- private Boolean autoStartup = Boolean.TRUE;
- private List<RoutePolicy> routePolicyList = new ArrayList<>();
- private ShutdownRoute shutdownRoute;
- private ShutdownRunningTask shutdownRunningTask;
- private RouteError routeError;
- private RouteController routeController;
- private final Map<String, Processor> onCompletions = new HashMap<>();
- private final Map<String, Processor> onExceptions = new HashMap<>();
- private final List<CamelInternalProcessorAdvice<?>> advices = new ArrayList<>();
- private final Map<String, Object> properties = new HashMap<>();
- private ErrorHandlerFactory errorHandlerFactory;
- private Integer startupOrder;
- // must be concurrent as error handlers can be mutated concurrently via multicast/recipientlist EIPs
- private ConcurrentMap<ErrorHandlerFactory, Set<NamedNode>> errorHandlers = new ConcurrentHashMap<>();
-
- public AbstractRouteContext(CamelContext camelContext, NamedNode route, String routeId) {
- this.camelContext = camelContext;
- this.route = route;
- this.routeId = routeId;
- }
-
- @Override
- public Endpoint getEndpoint() {
- return endpoint;
- }
-
- @Override
- public void setEndpoint(Endpoint endpoint) {
- this.endpoint = endpoint;
- }
-
- @Override
- public NamedNode getRoute() {
- return route;
- }
-
- @Override
- public String getRouteId() {
- return routeId;
- }
-
- public Route getRuntimeRoute() {
- return runtimeRoute;
- }
-
- @Override
- public CamelContext getCamelContext() {
- return camelContext;
- }
-
- @Override
- public Route commit() {
- // now lets turn all of the event driven consumer processors into a single route
- if (!eventDrivenProcessors.isEmpty()) {
- // always use an pipeline even if there are only 1 processor as the pipeline
- // handles preparing the response from the exchange in regard to IN vs OUT messages etc
- Processor target = new Pipeline(camelContext, eventDrivenProcessors);
-
- // and wrap it in a unit of work so the UoW is on the top, so the entire route will be in the same UoW
- CamelInternalProcessor internal = new CamelInternalProcessor(camelContext, target);
- internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(this, camelContext));
-
- // and then optionally add route policy processor if a custom policy is set
- List<RoutePolicy> routePolicyList = getRoutePolicyList();
- if (routePolicyList != null && !routePolicyList.isEmpty()) {
- for (RoutePolicy policy : routePolicyList) {
- // add policy as service if we have not already done that (eg possible if two routes have the same service)
- // this ensures Camel can control the lifecycle of the policy
- if (!camelContext.hasService(policy)) {
- try {
- camelContext.addService(policy);
- } catch (Exception e) {
- throw RuntimeCamelException.wrapRuntimeCamelException(e);
- }
- }
- }
-
- internal.addAdvice(new CamelInternalProcessor.RoutePolicyAdvice(routePolicyList));
- }
-
- // wrap in route inflight processor to track number of inflight exchanges for the route
- internal.addAdvice(new CamelInternalProcessor.RouteInflightRepositoryAdvice(camelContext.getInflightRepository(), routeId));
-
- // wrap in JMX instrumentation processor that is used for performance stats
- if (managementInterceptStrategy != null) {
- internal.addAdvice(CamelInternalProcessor.wrap(managementInterceptStrategy.createProcessor("route")));
- }
-
- // wrap in route lifecycle
- internal.addAdvice(new CamelInternalProcessor.RouteLifecycleAdvice());
-
- // add advices
- advices.forEach(internal::addAdvice);
-
- // and create the route that wraps all of this
- Route edcr = new EventDrivenConsumerRoute(this, getEndpoint(), internal);
- edcr.getProperties().putAll(properties);
-
- // after the route is created then set the route on the policy processor so we get hold of it
- CamelInternalProcessor.RoutePolicyAdvice task = internal.getAdvice(CamelInternalProcessor.RoutePolicyAdvice.class);
- if (task != null) {
- task.setRoute(edcr);
- }
- CamelInternalProcessor.RouteLifecycleAdvice task2 = internal.getAdvice(CamelInternalProcessor.RouteLifecycleAdvice.class);
- if (task2 != null) {
- task2.setRoute(edcr);
- }
-
- // invoke init on route policy
- if (routePolicyList != null && !routePolicyList.isEmpty()) {
- for (RoutePolicy policy : routePolicyList) {
- policy.onInit(edcr);
- }
- }
-
- runtimeRoute = edcr;
- }
- return runtimeRoute;
- }
-
- @Override
- public void addEventDrivenProcessor(Processor processor) {
- eventDrivenProcessors.add(processor);
- }
-
- @Override
- public List<InterceptStrategy> getInterceptStrategies() {
- return interceptStrategies;
- }
-
- @Override
- public void setInterceptStrategies(List<InterceptStrategy> interceptStrategies) {
- this.interceptStrategies = interceptStrategies;
- }
-
- @Override
- public void addInterceptStrategy(InterceptStrategy interceptStrategy) {
- getInterceptStrategies().add(interceptStrategy);
- }
-
- @Override
- public void setManagementInterceptStrategy(ManagementInterceptStrategy interceptStrategy) {
- this.managementInterceptStrategy = interceptStrategy;
- }
-
- @Override
- public ManagementInterceptStrategy getManagementInterceptStrategy() {
- return managementInterceptStrategy;
- }
-
- @Override
- public boolean isRouteAdded() {
- return routeAdded;
- }
-
- @Override
- public void setIsRouteAdded(boolean routeAdded) {
- this.routeAdded = routeAdded;
- }
-
- @Override
- public void setTracing(Boolean tracing) {
- this.trace = tracing;
- }
-
- @Override
- public Boolean isTracing() {
- if (trace != null) {
- return trace;
- } else {
- // fallback to the option from camel context
- return camelContext.isTracing();
- }
- }
-
- @Override
- public String getTracingPattern() {
- // can only set this on context level
- return camelContext.getTracingPattern();
- }
-
- @Override
- public void setTracingPattern(String tracePattern) {
- // can only set this on context level
- camelContext.setTracingPattern(tracePattern);
- }
-
- @Override
- public void setBacklogTracing(Boolean backlogTrace) {
- this.backlogTrace = backlogTrace;
- }
-
- @Override
- public Boolean isBacklogTracing() {
- if (backlogTrace != null) {
- return backlogTrace;
- } else {
- // fallback to the option from camel context
- return camelContext.isBacklogTracing();
- }
- }
-
- @Override
- public void setDebugging(Boolean debugging) {
- this.debug = debugging;
- }
-
- @Override
- public Boolean isDebugging() {
- if (debug != null) {
- return debug;
- } else {
- // fallback to the option from camel context
- return camelContext.isDebugging();
- }
- }
-
- @Override
- public void setMessageHistory(Boolean messageHistory) {
- this.messageHistory = messageHistory;
- }
-
- @Override
- public Boolean isMessageHistory() {
- if (messageHistory != null) {
- return messageHistory;
- } else {
- // fallback to the option from camel context
- return camelContext.isMessageHistory();
- }
- }
-
- @Override
- public void setLogMask(Boolean logMask) {
- this.logMask = logMask;
- }
-
- @Override
- public Boolean isLogMask() {
- if (logMask != null) {
- return logMask;
- } else {
- // fallback to the option from camel context
- return camelContext.isLogMask();
- }
- }
-
- @Override
- public void setLogExhaustedMessageBody(Boolean logExhaustedMessageBody) {
- this.logExhaustedMessageBody = logExhaustedMessageBody;
- }
-
- @Override
- public Boolean isLogExhaustedMessageBody() {
- if (logExhaustedMessageBody != null) {
- return logExhaustedMessageBody;
- } else {
- // fallback to the option from camel context
- return camelContext.isLogExhaustedMessageBody();
- }
- }
-
- @Override
- public void setStreamCaching(Boolean cache) {
- this.streamCache = cache;
- }
-
- @Override
- public Boolean isStreamCaching() {
- if (streamCache != null) {
- return streamCache;
- } else {
- // fallback to the option from camel context
- return camelContext.isStreamCaching();
- }
- }
-
- @Override
- public void setDelayer(Long delay) {
- this.delay = delay;
- }
-
- @Override
- public Long getDelayer() {
- if (delay != null) {
- return delay;
- } else {
- // fallback to the option from camel context
- return camelContext.getDelayer();
- }
- }
-
- @Override
- public void setAutoStartup(Boolean autoStartup) {
- this.autoStartup = autoStartup;
- }
-
- @Override
- public Boolean isAutoStartup() {
- if (autoStartup != null) {
- return autoStartup;
- }
- // default to true
- return true;
- }
-
- @Override
- public void setStartupOrder(Integer startupOrder) {
- this.startupOrder = startupOrder;
- }
-
- @Override
- public Integer getStartupOrder() {
- return startupOrder;
- }
-
- @Override
- public void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory) {
- this.errorHandlerFactory = errorHandlerFactory;
- }
-
- @Override
- public ErrorHandlerFactory getErrorHandlerFactory() {
- return errorHandlerFactory;
- }
-
- @Override
- public void setShutdownRoute(ShutdownRoute shutdownRoute) {
- this.shutdownRoute = shutdownRoute;
- }
-
- @Override
- public void setAllowUseOriginalMessage(Boolean allowUseOriginalMessage) {
- // can only be configured on CamelContext
- camelContext.setAllowUseOriginalMessage(allowUseOriginalMessage);
- }
-
- @Override
- public Boolean isAllowUseOriginalMessage() {
- // can only be configured on CamelContext
- return camelContext.isAllowUseOriginalMessage();
- }
-
- @Override
- public Boolean isCaseInsensitiveHeaders() {
- // can only be configured on CamelContext
- return camelContext.isCaseInsensitiveHeaders();
- }
-
- @Override
- public void setCaseInsensitiveHeaders(Boolean caseInsensitiveHeaders) {
- // can only be configured on CamelContext
- camelContext.setCaseInsensitiveHeaders(caseInsensitiveHeaders);
- }
-
- @Override
- public ShutdownRoute getShutdownRoute() {
- if (shutdownRoute != null) {
- return shutdownRoute;
- } else {
- // fallback to the option from camel context
- return camelContext.getShutdownRoute();
- }
- }
-
- @Override
- public void setShutdownRunningTask(ShutdownRunningTask shutdownRunningTask) {
- this.shutdownRunningTask = shutdownRunningTask;
- }
-
- @Override
- public ShutdownRunningTask getShutdownRunningTask() {
- if (shutdownRunningTask != null) {
- return shutdownRunningTask;
- } else {
- // fallback to the option from camel context
- return camelContext.getShutdownRunningTask();
- }
- }
-
- @Override
- public void setRoutePolicyList(List<RoutePolicy> routePolicyList) {
- this.routePolicyList = routePolicyList;
- }
-
- @Override
- public List<RoutePolicy> getRoutePolicyList() {
- return routePolicyList;
- }
-
- @Override
- public RouteError getLastError() {
- return routeError;
- }
-
- @Override
- public void setLastError(RouteError routeError) {
- this.routeError = routeError;
- }
-
- @Override
- public RouteController getRouteController() {
- return routeController;
- }
-
- @Override
- public void setRouteController(RouteController routeController) {
- this.routeController = routeController;
- }
-
- @Override
- public Processor getOnCompletion(String onCompletionId) {
- return onCompletions.get(onCompletionId);
- }
-
- @Override
- public void setOnCompletion(String onCompletionId, Processor processor) {
- onCompletions.put(onCompletionId, processor);
- }
-
- @Override
- public Processor getOnException(String onExceptionId) {
- return onExceptions.get(onExceptionId);
- }
-
- @Override
- public void setOnException(String onExceptionId, Processor processor) {
- onExceptions.put(onExceptionId, processor);
- }
-
- @Override
- public void addAdvice(CamelInternalProcessorAdvice<?> advice) {
- advices.add(advice);
- }
-
- @Override
- public void addProperty(String key, Object value) {
- properties.put(key, value);
- }
-
- @Override
- public void addErrorHandler(ErrorHandlerFactory factory, NamedNode onException) {
- doGetErrorHandlers(factory).add(onException);
- }
-
- @Override
- public Set<NamedNode> getErrorHandlers(ErrorHandlerFactory factory) {
- return doGetErrorHandlers(factory);
- }
-
- public void removeErrorHandlers(ErrorHandlerFactory factory) {
- errorHandlers.remove(factory);
- }
-
- @Override
- public void addErrorHandlerFactoryReference(ErrorHandlerFactory source, ErrorHandlerFactory target) {
- Set<NamedNode> list = doGetErrorHandlers(source);
- Set<NamedNode> previous = errorHandlers.put(target, list);
- if (list != previous && ObjectHelper.isNotEmpty(previous) && ObjectHelper.isNotEmpty(list)) {
- throw new IllegalStateException("Multiple references with different handlers");
- }
- }
-
- public Set<NamedNode> doGetErrorHandlers(ErrorHandlerFactory factory) {
- return errorHandlers.computeIfAbsent(factory, f -> new LinkedHashSet<>());
- }
-
-}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
index 27748fd..3e66d9d 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
@@ -40,7 +40,6 @@ import org.apache.camel.RuntimeCamelException;
import org.apache.camel.Service;
import org.apache.camel.processor.ErrorHandler;
import org.apache.camel.spi.LifecycleStrategy;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RouteIdAware;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.support.ChildServiceSupport;
@@ -58,7 +57,6 @@ import static org.apache.camel.spi.UnitOfWork.MDC_ROUTE_ID;
public abstract class BaseRouteService extends ChildServiceSupport {
private final AbstractCamelContext camelContext;
- private final RouteContext routeContext;
private final Route route;
private boolean removingRoutes;
private final Map<Route, Consumer> inputs = new HashMap<>();
@@ -67,8 +65,7 @@ public abstract class BaseRouteService extends ChildServiceSupport {
public BaseRouteService(Route route) {
this.route = route;
- this.routeContext = this.route.getRouteContext();
- this.camelContext = this.routeContext.getCamelContext().adapt(AbstractCamelContext.class);
+ this.camelContext = this.route.getCamelContext().adapt(AbstractCamelContext.class);
}
public String getId() {
@@ -79,10 +76,6 @@ public abstract class BaseRouteService extends ChildServiceSupport {
return camelContext;
}
- public RouteContext getRouteContext() {
- return routeContext;
- }
-
public Route getRoute() {
return route;
}
@@ -324,8 +317,8 @@ public abstract class BaseRouteService extends ChildServiceSupport {
}
private void routePolicyCallback(java.util.function.BiConsumer<RoutePolicy, Route> callback) {
- if (routeContext.getRoutePolicyList() != null) {
- for (RoutePolicy routePolicy : routeContext.getRoutePolicyList()) {
+ if (route.getRoutePolicyList() != null) {
+ for (RoutePolicy routePolicy : route.getRoutePolicyList()) {
callback.accept(routePolicy, route);
}
}
@@ -346,8 +339,8 @@ public abstract class BaseRouteService extends ChildServiceSupport {
if (service instanceof ErrorHandler) {
// special for error handlers
for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
- ErrorHandlerFactory errorHandlerFactory = routeContext.getErrorHandlerFactory();
- strategy.onErrorHandlerRemove(routeContext, (Processor) service, errorHandlerFactory);
+ ErrorHandlerFactory errorHandlerFactory = route.getErrorHandlerFactory();
+ strategy.onErrorHandlerRemove(route, (Processor) service, errorHandlerFactory);
}
} else {
for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
index 3db01a4..f3c2ad9 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java
@@ -33,8 +33,7 @@ import org.apache.camel.StaticService;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.ExchangeFormatter;
import org.apache.camel.spi.ReactiveExecutor;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.UnitOfWork;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.MessageHelper;
import org.apache.camel.support.processor.DefaultExchangeFormatter;
import org.apache.camel.support.service.ServiceSupport;
@@ -308,13 +307,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements
@Override
public String getRouteId() {
- // compute route id
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- return rc.getRouteId();
- }
- return null;
+ return ExchangeHelper.getAtRouteId(exchange);
}
@Override
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java
index b1e13b8..79adbe9 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInflightRepository.java
@@ -31,8 +31,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.ExtendedExchange;
import org.apache.camel.MessageHistory;
import org.apache.camel.spi.InflightRepository;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.UnitOfWork;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.service.ServiceSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -272,13 +271,7 @@ public class DefaultInflightRepository extends ServiceSupport implements Infligh
@Override
@SuppressWarnings("unchecked")
public String getAtRouteId() {
- // compute route id
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- return rc.getRouteId();
- }
- return null;
+ return ExchangeHelper.getAtRouteId(exchange);
}
@Override
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProcessorFactory.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProcessorFactory.java
index d6f07fb..3fd256a 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProcessorFactory.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultProcessorFactory.java
@@ -26,11 +26,11 @@ import org.apache.camel.NamedNode;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.Route;
import org.apache.camel.processor.SendDynamicProcessor;
import org.apache.camel.processor.UnitOfWorkProducer;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.ProcessorFactory;
-import org.apache.camel.spi.RouteContext;
/**
* Default {@link ProcessorFactory} that supports using 3rd party Camel components to implement the EIP {@link Processor}.
@@ -48,15 +48,15 @@ public class DefaultProcessorFactory implements ProcessorFactory {
public static final String RESOURCE_PATH = "META-INF/services/org/apache/camel/model/";
@Override
- public Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception {
+ public Processor createChildProcessor(Route route, NamedNode definition, boolean mandatory) throws Exception {
String name = definition.getClass().getSimpleName();
- FactoryFinder finder = routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
+ FactoryFinder finder = route.getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
try {
if (finder != null) {
Object object = finder.newInstance(name);
if (object instanceof ProcessorFactory) {
ProcessorFactory pc = (ProcessorFactory) object;
- return pc.createChildProcessor(routeContext, definition, mandatory);
+ return pc.createChildProcessor(route, definition, mandatory);
}
}
} catch (NoFactoryAvailableException e) {
@@ -67,13 +67,13 @@ public class DefaultProcessorFactory implements ProcessorFactory {
}
@Override
- public Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception {
+ public Processor createProcessor(Route route, NamedNode definition) throws Exception {
String name = definition.getClass().getSimpleName();
- FactoryFinder finder = routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
+ FactoryFinder finder = route.getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
if (finder != null) {
ProcessorFactory pc = finder.newInstance(name, ProcessorFactory.class).orElse(null);
if (pc != null) {
- return pc.createProcessor(routeContext, definition);
+ return pc.createProcessor(route, definition);
}
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java
index ee0bcf3..47f6602 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java
@@ -19,15 +19,37 @@ package org.apache.camel.impl.engine;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
+import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
import org.apache.camel.CamelContext;
+import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
+import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.NamedNode;
+import org.apache.camel.Navigate;
+import org.apache.camel.Processor;
import org.apache.camel.Route;
+import org.apache.camel.RouteAware;
import org.apache.camel.Service;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.ShutdownRoute;
+import org.apache.camel.ShutdownRunningTask;
+import org.apache.camel.Suspendable;
+import org.apache.camel.SuspendableService;
+import org.apache.camel.spi.IdAware;
+import org.apache.camel.spi.InterceptStrategy;
+import org.apache.camel.spi.ManagementInterceptStrategy;
+import org.apache.camel.spi.RouteController;
+import org.apache.camel.spi.RouteError;
+import org.apache.camel.spi.RouteIdAware;
+import org.apache.camel.spi.RoutePolicy;
+import org.apache.camel.support.PatternHelper;
import org.apache.camel.support.service.ServiceSupport;
+import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.TimeUtils;
/**
@@ -37,29 +59,53 @@ import org.apache.camel.util.TimeUtils;
* such as starting and stopping using the {@link org.apache.camel.spi.RouteController#startRoute(String)}
* and {@link org.apache.camel.spi.RouteController#stopRoute(String)} methods.
*/
-public abstract class DefaultRoute extends ServiceSupport implements Route {
+public class DefaultRoute extends ServiceSupport implements Route {
+
+ private NamedNode route;
+ private String routeId;
+ private final List<Processor> eventDrivenProcessors = new ArrayList<>();
+ private CamelContext camelContext;
+ private List<InterceptStrategy> interceptStrategies = new ArrayList<>();
+ private ManagementInterceptStrategy managementInterceptStrategy;
+ private Boolean trace;
+ private Boolean backlogTrace;
+ private Boolean debug;
+ private Boolean messageHistory;
+ private Boolean logMask;
+ private Boolean logExhaustedMessageBody;
+ private Boolean streamCache;
+ private Long delay;
+ private Boolean autoStartup = Boolean.TRUE;
+ private final List<RoutePolicy> routePolicyList = new ArrayList<>();
+ private ShutdownRoute shutdownRoute;
+ private ShutdownRunningTask shutdownRunningTask;
+ private final Map<String, Processor> onCompletions = new HashMap<>();
+ private final Map<String, Processor> onExceptions = new HashMap<>();
+ private ErrorHandlerFactory errorHandlerFactory;
+ // must be concurrent as error handlers can be mutated concurrently via multicast/recipientlist EIPs
+ private ConcurrentMap<ErrorHandlerFactory, Set<NamedNode>> errorHandlers = new ConcurrentHashMap<>();
private final Endpoint endpoint;
private final Map<String, Object> properties = new HashMap<>();
private final List<Service> services = new ArrayList<>();
- private final RouteContext routeContext;
private Date startDate;
+ private RouteError routeError;
+ private Integer startupOrder;
+ private RouteController routeController;
- public DefaultRoute(RouteContext routeContext, Endpoint endpoint) {
- this.routeContext = routeContext;
- this.endpoint = endpoint;
- }
+ private Processor processor;
+ private Consumer consumer;
- public DefaultRoute(RouteContext routeContext, Endpoint endpoint, Service... services) {
- this(routeContext, endpoint);
- for (Service service : services) {
- addService(service);
- }
+ public DefaultRoute(CamelContext camelContext, NamedNode route, String routeId, Endpoint endpoint) {
+ this.camelContext = camelContext;
+ this.route = route;
+ this.routeId = routeId;
+ this.endpoint = endpoint;
}
@Override
- public String toString() {
- return "Route " + getId();
+ public Processor createErrorHandler(Processor processor) throws Exception {
+ throw new UnsupportedOperationException();
}
@Override
@@ -95,13 +141,8 @@ public abstract class DefaultRoute extends ServiceSupport implements Route {
}
@Override
- public RouteContext getRouteContext() {
- return routeContext;
- }
-
- @Override
public CamelContext getCamelContext() {
- return routeContext.getCamelContext();
+ return camelContext;
}
@Override
@@ -153,12 +194,6 @@ public abstract class DefaultRoute extends ServiceSupport implements Route {
super.stop();
}
- /**
- * Strategy method to allow derived classes to lazily load services for the route
- */
- protected void addServices(List<Service> services) throws Exception {
- }
-
@Override
protected void doStart() throws Exception {
startDate = new Date();
@@ -177,4 +212,407 @@ public abstract class DefaultRoute extends ServiceSupport implements Route {
// clear services when shutting down
services.clear();
}
+
+ @Override
+ public RouteError getLastError() {
+ return routeError;
+ }
+
+ @Override
+ public void setLastError(RouteError routeError) {
+ this.routeError = routeError;
+ }
+
+ @Override
+ public Integer getStartupOrder() {
+ return startupOrder;
+ }
+
+ @Override
+ public void setStartupOrder(Integer startupOrder) {
+ this.startupOrder = startupOrder;
+ }
+
+ public RouteController getRouteController() {
+ return routeController;
+ }
+
+ public void setRouteController(RouteController routeController) {
+ this.routeController = routeController;
+ }
+
+ public Boolean isAutoStartup() {
+ return autoStartup;
+ }
+
+ @Override
+ public void setAutoStartup(Boolean autoStartup) {
+ this.autoStartup = autoStartup;
+ }
+
+ @Override
+ public NamedNode getRoute() {
+ return route;
+ }
+
+ @Override
+ public String getRouteId() {
+ return routeId;
+ }
+
+ public List<Processor> getEventDrivenProcessors() {
+ return eventDrivenProcessors;
+ }
+
+ @Override
+ public List<InterceptStrategy> getInterceptStrategies() {
+ return interceptStrategies;
+ }
+
+ @Override
+ public void setManagementInterceptStrategy(ManagementInterceptStrategy interceptStrategy) {
+ this.managementInterceptStrategy = interceptStrategy;
+ }
+
+ @Override
+ public ManagementInterceptStrategy getManagementInterceptStrategy() {
+ return managementInterceptStrategy;
+ }
+
+ @Override
+ public void setTracing(Boolean tracing) {
+ this.trace = tracing;
+ }
+
+ @Override
+ public Boolean isTracing() {
+ if (trace != null) {
+ return trace;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.isTracing();
+ }
+ }
+
+ @Override
+ public String getTracingPattern() {
+ // can only set this on context level
+ return camelContext.getTracingPattern();
+ }
+
+ @Override
+ public void setTracingPattern(String tracePattern) {
+ // can only set this on context level
+ camelContext.setTracingPattern(tracePattern);
+ }
+
+ @Override
+ public void setBacklogTracing(Boolean backlogTrace) {
+ this.backlogTrace = backlogTrace;
+ }
+
+ @Override
+ public Boolean isBacklogTracing() {
+ if (backlogTrace != null) {
+ return backlogTrace;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.isBacklogTracing();
+ }
+ }
+
+ @Override
+ public void setDebugging(Boolean debugging) {
+ this.debug = debugging;
+ }
+
+ @Override
+ public Boolean isDebugging() {
+ if (debug != null) {
+ return debug;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.isDebugging();
+ }
+ }
+
+ @Override
+ public void setMessageHistory(Boolean messageHistory) {
+ this.messageHistory = messageHistory;
+ }
+
+ @Override
+ public Boolean isMessageHistory() {
+ if (messageHistory != null) {
+ return messageHistory;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.isMessageHistory();
+ }
+ }
+
+ @Override
+ public void setLogMask(Boolean logMask) {
+ this.logMask = logMask;
+ }
+
+ @Override
+ public Boolean isLogMask() {
+ if (logMask != null) {
+ return logMask;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.isLogMask();
+ }
+ }
+
+ @Override
+ public void setLogExhaustedMessageBody(Boolean logExhaustedMessageBody) {
+ this.logExhaustedMessageBody = logExhaustedMessageBody;
+ }
+
+ @Override
+ public Boolean isLogExhaustedMessageBody() {
+ if (logExhaustedMessageBody != null) {
+ return logExhaustedMessageBody;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.isLogExhaustedMessageBody();
+ }
+ }
+
+ @Override
+ public void setStreamCaching(Boolean cache) {
+ this.streamCache = cache;
+ }
+
+ @Override
+ public Boolean isStreamCaching() {
+ if (streamCache != null) {
+ return streamCache;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.isStreamCaching();
+ }
+ }
+
+ @Override
+ public void setDelayer(Long delay) {
+ this.delay = delay;
+ }
+
+ @Override
+ public Long getDelayer() {
+ if (delay != null) {
+ return delay;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.getDelayer();
+ }
+ }
+
+ @Override
+ public void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory) {
+ this.errorHandlerFactory = errorHandlerFactory;
+ }
+
+ @Override
+ public ErrorHandlerFactory getErrorHandlerFactory() {
+ return errorHandlerFactory;
+ }
+
+ @Override
+ public void setShutdownRoute(ShutdownRoute shutdownRoute) {
+ this.shutdownRoute = shutdownRoute;
+ }
+
+ @Override
+ public void setAllowUseOriginalMessage(Boolean allowUseOriginalMessage) {
+ // can only be configured on CamelContext
+ camelContext.setAllowUseOriginalMessage(allowUseOriginalMessage);
+ }
+
+ @Override
+ public Boolean isAllowUseOriginalMessage() {
+ // can only be configured on CamelContext
+ return camelContext.isAllowUseOriginalMessage();
+ }
+
+ @Override
+ public Boolean isCaseInsensitiveHeaders() {
+ // can only be configured on CamelContext
+ return camelContext.isCaseInsensitiveHeaders();
+ }
+
+ @Override
+ public void setCaseInsensitiveHeaders(Boolean caseInsensitiveHeaders) {
+ // can only be configured on CamelContext
+ camelContext.setCaseInsensitiveHeaders(caseInsensitiveHeaders);
+ }
+
+ @Override
+ public ShutdownRoute getShutdownRoute() {
+ if (shutdownRoute != null) {
+ return shutdownRoute;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.getShutdownRoute();
+ }
+ }
+
+ @Override
+ public void setShutdownRunningTask(ShutdownRunningTask shutdownRunningTask) {
+ this.shutdownRunningTask = shutdownRunningTask;
+ }
+
+ @Override
+ public ShutdownRunningTask getShutdownRunningTask() {
+ if (shutdownRunningTask != null) {
+ return shutdownRunningTask;
+ } else {
+ // fallback to the option from camel context
+ return camelContext.getShutdownRunningTask();
+ }
+ }
+
+ @Override
+ public List<RoutePolicy> getRoutePolicyList() {
+ return routePolicyList;
+ }
+
+ @Override
+ public Processor getOnCompletion(String onCompletionId) {
+ return onCompletions.get(onCompletionId);
+ }
+
+ @Override
+ public void setOnCompletion(String onCompletionId, Processor processor) {
+ onCompletions.put(onCompletionId, processor);
+ }
+
+ @Override
+ public Processor getOnException(String onExceptionId) {
+ return onExceptions.get(onExceptionId);
+ }
+
+ @Override
+ public void setOnException(String onExceptionId, Processor processor) {
+ onExceptions.put(onExceptionId, processor);
+ }
+
+ @Override
+ public Set<NamedNode> getErrorHandlers(ErrorHandlerFactory factory) {
+ return errorHandlers.computeIfAbsent(factory, f -> new LinkedHashSet<>());
+ }
+
+ @Override
+ public void addErrorHandler(ErrorHandlerFactory factory, NamedNode onException) {
+ errorHandlers.computeIfAbsent(factory, f -> new LinkedHashSet<>()).add(onException);
+ }
+
+ @Override
+ public void addErrorHandlerFactoryReference(ErrorHandlerFactory source, ErrorHandlerFactory target) {
+ Set<NamedNode> list = errorHandlers.computeIfAbsent(source, f -> new LinkedHashSet<>());
+ Set<NamedNode> previous = errorHandlers.put(target, list);
+ if (list != previous && ObjectHelper.isNotEmpty(previous) && ObjectHelper.isNotEmpty(list)) {
+ throw new IllegalStateException("Multiple references with different handlers");
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "Route[" + getEndpoint() + " -> " + processor + "]";
+ }
+
+ @Override
+ public Processor getProcessor() {
+ return processor;
+ }
+
+ public void setProcessor(Processor processor) {
+ this.processor = processor;
+ }
+
+ /**
+ * Factory method to lazily create the complete list of services required for this route
+ * such as adding the processor or consumer
+ */
+ protected void addServices(List<Service> services) throws Exception {
+ Endpoint endpoint = getEndpoint();
+ consumer = endpoint.createConsumer(processor);
+ if (consumer != null) {
+ services.add(consumer);
+ if (consumer instanceof RouteAware) {
+ ((RouteAware) consumer).setRoute(this);
+ }
+ if (consumer instanceof RouteIdAware) {
+ ((RouteIdAware) consumer).setRouteId(this.getId());
+ }
+ }
+ Processor processor = getProcessor();
+ if (processor instanceof Service) {
+ services.add((Service)processor);
+ }
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public Navigate<Processor> navigate() {
+ Processor answer = getProcessor();
+
+ // we want navigating routes to be easy, so skip the initial channel
+ // and navigate to its output where it all starts from end user point of view
+ if (answer instanceof Navigate) {
+ Navigate<Processor> nav = (Navigate<Processor>) answer;
+ if (nav.next().size() == 1) {
+ Object first = nav.next().get(0);
+ if (first instanceof Navigate) {
+ return (Navigate<Processor>) first;
+ }
+ }
+ return (Navigate<Processor>) answer;
+ }
+ return null;
+ }
+
+ @Override
+ public List<Processor> filter(String pattern) {
+ List<Processor> match = new ArrayList<>();
+ doFilter(pattern, navigate(), match);
+ return match;
+ }
+
+ @SuppressWarnings("unchecked")
+ private void doFilter(String pattern, Navigate<Processor> nav, List<Processor> match) {
+ List<Processor> list = nav.next();
+ if (list != null) {
+ for (Processor proc : list) {
+ String id = null;
+ if (proc instanceof IdAware) {
+ id = ((IdAware) proc).getId();
+ }
+ if (PatternHelper.matchPattern(id, pattern)) {
+ match.add(proc);
+ }
+ if (proc instanceof Navigate) {
+ Navigate<Processor> child = (Navigate<Processor>) proc;
+ doFilter(pattern, child, match);
+ }
+ }
+ }
+ }
+
+ @Override
+ public Consumer getConsumer() {
+ return consumer;
+ }
+
+ @Override
+ public boolean supportsSuspension() {
+ return consumer instanceof Suspendable && consumer instanceof SuspendableService;
+ }
+
+ public void initialized() {
+
+ }
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteError.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteError.java
index 06c3ae7..42de2e2 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteError.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRouteError.java
@@ -54,14 +54,14 @@ public class DefaultRouteError implements RouteError {
public static void set(CamelContext context, String routeId, RouteError.Phase phase, Throwable throwable) {
Route route = context.getRoute(routeId);
if (route != null) {
- route.getRouteContext().setLastError(new DefaultRouteError(phase, throwable));
+ route.setLastError(new DefaultRouteError(phase, throwable));
}
}
public static void reset(CamelContext context, String routeId) {
Route route = context.getRoute(routeId);
if (route != null) {
- route.getRouteContext().setLastError(null);
+ route.setLastError(null);
}
}
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
index b796d8d..956c4726 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
@@ -27,18 +27,15 @@ import java.util.Set;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
import org.apache.camel.spi.CamelEvent;
import org.apache.camel.spi.CamelEvent.ExchangeCreatedEvent;
import org.apache.camel.spi.CamelEvent.ExchangeSendingEvent;
import org.apache.camel.spi.CamelEvent.RouteAddedEvent;
import org.apache.camel.spi.CamelEvent.RouteRemovedEvent;
import org.apache.camel.spi.EndpointUtilizationStatistics;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RuntimeEndpointRegistry;
-import org.apache.camel.spi.UnitOfWork;
-import org.apache.camel.support.DefaultConsumer;
import org.apache.camel.support.EventNotifierSupport;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.LRUCacheFactory;
import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
@@ -261,7 +258,7 @@ public class DefaultRuntimeEndpointRegistry extends EventNotifierSupport impleme
} else if (event instanceof ExchangeSendingEvent) {
ExchangeSendingEvent ese = (ExchangeSendingEvent) event;
Endpoint endpoint = ese.getEndpoint();
- String routeId = getRouteId(ese.getExchange());
+ String routeId = ExchangeHelper.getRouteId(ese.getExchange());
String uri = endpoint.getEndpointUri();
Map<String, String> uris = outputs.get(routeId);
@@ -277,20 +274,6 @@ public class DefaultRuntimeEndpointRegistry extends EventNotifierSupport impleme
}
}
- private String getRouteId(Exchange exchange) {
- String answer = null;
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- answer = rc.getRouteId();
- }
- if (answer == null) {
- // fallback and get from route id on the exchange
- answer = exchange.getFromRouteId();
- }
- return answer;
- }
-
@Override
public boolean isDisabled() {
return !enabled;
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
index 0c971c4..4210f28 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultShutdownStrategy.java
@@ -360,11 +360,11 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
// set the route to shutdown as fast as possible by stopping after
// it has completed its current task
- ShutdownRunningTask current = order.getRoute().getRouteContext().getShutdownRunningTask();
+ ShutdownRunningTask current = order.getRoute().getShutdownRunningTask();
if (current != ShutdownRunningTask.CompleteCurrentTaskOnly) {
LOG.debug("Changing shutdownRunningTask from {} to " + ShutdownRunningTask.CompleteCurrentTaskOnly
+ " on route {} to shutdown faster", current, order.getRoute().getId());
- order.getRoute().getRouteContext().setShutdownRunningTask(ShutdownRunningTask.CompleteCurrentTaskOnly);
+ order.getRoute().setShutdownRunningTask(ShutdownRunningTask.CompleteCurrentTaskOnly);
}
for (Consumer consumer : order.getInputs()) {
@@ -555,8 +555,8 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
List<ShutdownDeferredConsumer> deferredConsumers = new ArrayList<>();
for (RouteStartupOrder order : routes) {
- ShutdownRoute shutdownRoute = order.getRoute().getRouteContext().getShutdownRoute();
- ShutdownRunningTask shutdownRunningTask = order.getRoute().getRouteContext().getShutdownRunningTask();
+ ShutdownRoute shutdownRoute = order.getRoute().getShutdownRoute();
+ ShutdownRunningTask shutdownRunningTask = order.getRoute().getShutdownRunningTask();
if (LOG.isTraceEnabled()) {
LOG.trace("{}{} with options [{},{}]",
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
index 2b5167e..e404de5 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java
@@ -24,7 +24,6 @@ import java.util.Set;
import java.util.function.Predicate;
import org.apache.camel.AsyncCallback;
-import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.ExtendedExchange;
@@ -33,7 +32,6 @@ import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.spi.InflightRepository;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.Synchronization;
import org.apache.camel.spi.SynchronizationVetoable;
import org.apache.camel.spi.UnitOfWork;
@@ -62,8 +60,8 @@ public class DefaultUnitOfWork implements UnitOfWork, Service {
private final Exchange exchange;
private final ExtendedCamelContext context;
private Logger log;
- private RouteContext prevRouteContext;
- private RouteContext routeContext;
+ private Route prevRoute;
+ private Route route;
private List<Synchronization> synchronizations;
private Message originalInMessage;
private Set<Object> transactedBy;
@@ -287,21 +285,21 @@ public class DefaultUnitOfWork implements UnitOfWork, Service {
}
@Override
- public RouteContext getRouteContext() {
- return routeContext;
+ public Route getRoute() {
+ return route;
}
@Override
- public void pushRouteContext(RouteContext routeContext) {
- this.prevRouteContext = this.routeContext;
- this.routeContext = routeContext;
+ public void pushRoute(Route route) {
+ this.prevRoute = this.route;
+ this.route = route;
}
@Override
- public RouteContext popRouteContext() {
- RouteContext answer = this.routeContext;
- this.routeContext = this.prevRouteContext;
- this.prevRouteContext = null;
+ public Route popRoute() {
+ Route answer = this.route;
+ this.route = this.prevRoute;
+ this.prevRoute = null;
return answer;
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/EventDrivenConsumerRoute.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/EventDrivenConsumerRoute.java
deleted file mode 100644
index aacf546..0000000
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/EventDrivenConsumerRoute.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.impl.engine;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.camel.Consumer;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Navigate;
-import org.apache.camel.Processor;
-import org.apache.camel.RouteAware;
-import org.apache.camel.Service;
-import org.apache.camel.Suspendable;
-import org.apache.camel.SuspendableService;
-import org.apache.camel.spi.IdAware;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.RouteIdAware;
-import org.apache.camel.support.PatternHelper;
-
-/**
- * A {@link DefaultRoute} which starts with an
- * <a href="http://camel.apache.org/event-driven-consumer.html">Event Driven Consumer</a>
- * <p/>
- * Use the API from {@link org.apache.camel.CamelContext} to control the lifecycle of a route,
- * such as starting and stopping using the {@link org.apache.camel.spi.RouteController#startRoute(String)}
- * and {@link org.apache.camel.spi.RouteController#stopRoute(String)} methods.
- */
-public class EventDrivenConsumerRoute extends DefaultRoute {
- private final Processor processor;
- private Consumer consumer;
-
- public EventDrivenConsumerRoute(RouteContext routeContext, Endpoint endpoint, Processor processor) {
- super(routeContext, endpoint);
- this.processor = processor;
- }
-
- @Override
- public String toString() {
- return "EventDrivenConsumerRoute[" + getEndpoint() + " -> " + processor + "]";
- }
-
- @Override
- public Processor getProcessor() {
- return processor;
- }
-
- /**
- * Factory method to lazily create the complete list of services required for this route
- * such as adding the processor or consumer
- */
- @Override
- protected void addServices(List<Service> services) throws Exception {
- Endpoint endpoint = getEndpoint();
- consumer = endpoint.createConsumer(processor);
- if (consumer != null) {
- services.add(consumer);
- if (consumer instanceof RouteAware) {
- ((RouteAware) consumer).setRoute(this);
- }
- if (consumer instanceof RouteIdAware) {
- ((RouteIdAware) consumer).setRouteId(this.getId());
- }
- }
- Processor processor = getProcessor();
- if (processor instanceof Service) {
- services.add((Service)processor);
- }
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public Navigate<Processor> navigate() {
- Processor answer = getProcessor();
-
- // we want navigating routes to be easy, so skip the initial channel
- // and navigate to its output where it all starts from end user point of view
- if (answer instanceof Navigate) {
- Navigate<Processor> nav = (Navigate<Processor>) answer;
- if (nav.next().size() == 1) {
- Object first = nav.next().get(0);
- if (first instanceof Navigate) {
- return (Navigate<Processor>) first;
- }
- }
- return (Navigate<Processor>) answer;
- }
- return null;
- }
-
- @Override
- public List<Processor> filter(String pattern) {
- List<Processor> match = new ArrayList<>();
- doFilter(pattern, navigate(), match);
- return match;
- }
-
- @SuppressWarnings("unchecked")
- private void doFilter(String pattern, Navigate<Processor> nav, List<Processor> match) {
- List<Processor> list = nav.next();
- if (list != null) {
- for (Processor proc : list) {
- String id = null;
- if (proc instanceof IdAware) {
- id = ((IdAware) proc).getId();
- }
- if (PatternHelper.matchPattern(id, pattern)) {
- match.add(proc);
- }
- if (proc instanceof Navigate) {
- Navigate<Processor> child = (Navigate<Processor>) proc;
- doFilter(pattern, child, match);
- }
- }
- }
- }
-
- @Override
- public Consumer getConsumer() {
- return consumer;
- }
-
- @Override
- public boolean supportsSuspension() {
- return consumer instanceof Suspendable && consumer instanceof SuspendableService;
- }
-}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java
index 3716909..0a1f48d 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java
@@ -22,8 +22,8 @@ import java.util.Map;
import org.apache.camel.AsyncCallback;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.spi.InflightRepository;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.support.PatternHelper;
import org.slf4j.Logger;
@@ -94,21 +94,21 @@ public class MDCUnitOfWork extends DefaultUnitOfWork {
}
@Override
- public void pushRouteContext(RouteContext routeContext) {
- super.pushRouteContext(routeContext);
- if (routeContext != null) {
- MDC.put(MDC_ROUTE_ID, routeContext.getRouteId());
+ public void pushRoute(Route route) {
+ super.pushRoute(route);
+ if (route != null) {
+ MDC.put(MDC_ROUTE_ID, route.getRouteId());
} else {
MDC.remove(MDC_ROUTE_ID);
}
}
@Override
- public RouteContext popRouteContext() {
- RouteContext answer = super.popRouteContext();
+ public Route popRoute() {
+ Route answer = super.popRoute();
// restore old route id back again after we have popped
- RouteContext previous = getRouteContext();
+ Route previous = getRoute();
if (previous != null) {
// restore old route id back again
MDC.put(MDC_ROUTE_ID, previous.getRouteId());
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/SupervisingRouteController.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/SupervisingRouteController.java
index 3867836..2f2df57 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/SupervisingRouteController.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/SupervisingRouteController.java
@@ -44,7 +44,6 @@ import org.apache.camel.StartupListener;
import org.apache.camel.spi.CamelEvent;
import org.apache.camel.spi.CamelEvent.CamelContextStartedEvent;
import org.apache.camel.spi.HasId;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RouteController;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
@@ -344,7 +343,7 @@ public class SupervisingRouteController extends DefaultRouteController {
LOGGER.info("Route {} has been requested to stop: stop supervising it", route.getId());
// Mark the route as un-managed
- route.getContext().setRouteController(null);
+ route.get().setRouteController(null);
consumer.accept(route);
}
@@ -354,7 +353,7 @@ public class SupervisingRouteController extends DefaultRouteController {
synchronized (lock) {
// If a manual start is triggered, then the controller should take
// care that the route is started
- route.getContext().setRouteController(this);
+ route.get().setRouteController(this);
try {
if (checker) {
@@ -419,7 +418,7 @@ public class SupervisingRouteController extends DefaultRouteController {
}
void start(RouteHolder route) {
- route.getContext().setRouteController(SupervisingRouteController.this);
+ route.get().setRouteController(SupervisingRouteController.this);
routes.computeIfAbsent(
route,
@@ -452,7 +451,7 @@ public class SupervisingRouteController extends DefaultRouteController {
if (backOffTask != null && backOffTask.getStatus() == BackOffTimer.Task.Status.Exhausted && stopped) {
LOGGER.info("Back-off for route {} is exhausted, no more attempts will be made and stop supervising it", route.getId());
- r.getContext().setRouteController(null);
+ r.get().setRouteController(null);
}
}
}
@@ -505,12 +504,8 @@ public class SupervisingRouteController extends DefaultRouteController {
return this.route;
}
- public RouteContext getContext() {
- return this.route.getRouteContext();
- }
-
public ServiceStatus getStatus() {
- return getContext().getCamelContext().getRouteController().getRouteStatus(getId());
+ return route.getCamelContext().getRouteController().getRouteStatus(getId());
}
int getInitializationOrder() {
@@ -518,7 +513,7 @@ public class SupervisingRouteController extends DefaultRouteController {
}
public int getStartupOrder() {
- Integer order = route.getRouteContext().getStartupOrder();
+ Integer order = route.getStartupOrder();
if (order == null) {
order = Integer.MAX_VALUE;
}
@@ -583,7 +578,7 @@ public class SupervisingRouteController extends DefaultRouteController {
@Override
public void onInit(Route route) {
- if (!route.getRouteContext().isAutoStartup()) {
+ if (!route.isAutoStartup()) {
LOGGER.info("Route {} won't be supervised (reason: has explicit auto-startup flag set to false)", route.getId());
return;
}
@@ -599,8 +594,8 @@ public class SupervisingRouteController extends DefaultRouteController {
RouteHolder holder = new RouteHolder(route, routeCount.incrementAndGet());
if (routes.add(holder)) {
- holder.getContext().setRouteController(SupervisingRouteController.this);
- holder.getContext().setAutoStartup(false);
+ holder.get().setRouteController(SupervisingRouteController.this);
+ holder.get().setAutoStartup(false);
if (contextStarted.get()) {
LOGGER.info("Context is already started: attempt to start route {}", route.getId());
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/TypedProcessorFactory.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/TypedProcessorFactory.java
index 87ccfd1..2f53395 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/TypedProcessorFactory.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/TypedProcessorFactory.java
@@ -21,8 +21,8 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.spi.ProcessorFactory;
-import org.apache.camel.spi.RouteContext;
public class TypedProcessorFactory<T extends NamedNode> implements ProcessorFactory {
private final Class<T> type;
@@ -32,18 +32,18 @@ public class TypedProcessorFactory<T extends NamedNode> implements ProcessorFact
}
@Override
- public Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception {
+ public Processor createChildProcessor(Route route, NamedNode definition, boolean mandatory) throws Exception {
if (type.isInstance(definition)) {
- return doCreateChildProcessor(routeContext, type.cast(definition), mandatory);
+ return doCreateChildProcessor(route, type.cast(definition), mandatory);
}
return null;
}
@Override
- public Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception {
+ public Processor createProcessor(Route route, NamedNode definition) throws Exception {
if (type.isInstance(definition)) {
- return doCreateProcessor(routeContext, type.cast(definition));
+ return doCreateProcessor(route, type.cast(definition));
}
return null;
@@ -54,11 +54,11 @@ public class TypedProcessorFactory<T extends NamedNode> implements ProcessorFact
return null;
}
- protected Processor doCreateChildProcessor(RouteContext routeContext, T definition, boolean mandatory) throws Exception {
+ protected Processor doCreateChildProcessor(Route route, T definition, boolean mandatory) throws Exception {
return null;
}
- public Processor doCreateProcessor(RouteContext routeContext, T definition) throws Exception {
+ public Processor doCreateProcessor(Route route, T definition) throws Exception {
return null;
}
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java b/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java
index fb8713a..3336593 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java
@@ -64,7 +64,7 @@ public class RouteHealthCheck extends AbstractHealthCheck {
builder.detail("route.status", status.name());
builder.detail("route.context.name", context.getName());
- if (route.getRouteContext().getRouteController() != null || route.getRouteContext().isAutoStartup()) {
+ if (route.getRouteController() != null || route.isAutoStartup()) {
if (status.isStarted()) {
builder.up();
} else if (status.isStopped()) {
@@ -74,8 +74,8 @@ public class RouteHealthCheck extends AbstractHealthCheck {
} else {
LOGGER.debug("Route {} marked as UP (controlled={}, auto-startup={})",
route.getId(),
- route.getRouteContext().getRouteController() != null,
- route.getRouteContext().isAutoStartup()
+ route.getRouteController() != null,
+ route.isAutoStartup()
);
// Assuming that if no route controller is configured or if a
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
index 1658281..1110ca7 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
@@ -44,7 +44,6 @@ import org.apache.camel.spi.InflightRepository;
import org.apache.camel.spi.ManagementInterceptStrategy.InstrumentationProcessor;
import org.apache.camel.spi.MessageHistoryFactory;
import org.apache.camel.spi.ReactiveExecutor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.ShutdownStrategy;
import org.apache.camel.spi.StreamCachingStrategy;
@@ -54,6 +53,7 @@ import org.apache.camel.spi.Transformer;
import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.spi.UnitOfWorkFactory;
import org.apache.camel.support.CamelContextHelper;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.MessageHelper;
import org.apache.camel.support.OrderedComparator;
import org.apache.camel.support.SynchronizationAdapter;
@@ -593,14 +593,14 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
*/
public static class UnitOfWorkProcessorAdvice implements CamelInternalProcessorAdvice<UnitOfWork> {
- private final RouteContext routeContext;
+ private final Route route;
private String routeId;
private UnitOfWorkFactory uowFactory;
- public UnitOfWorkProcessorAdvice(RouteContext routeContext, CamelContext camelContext) {
- this.routeContext = routeContext;
- if (routeContext != null) {
- this.routeId = routeContext.getRouteId();
+ public UnitOfWorkProcessorAdvice(Route route, CamelContext camelContext) {
+ this.route = route;
+ if (route != null) {
+ this.routeId = route.getRouteId();
}
this.uowFactory = camelContext.adapt(ExtendedCamelContext.class).getUnitOfWorkFactory();
// optimize uow factory to initialize it early and once per advice
@@ -611,9 +611,9 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
public UnitOfWork before(Exchange exchange) throws Exception {
// if the exchange doesn't have from route id set, then set it if it originated
// from this unit of work
- if (routeContext != null && exchange.getFromRouteId() == null) {
+ if (route != null && exchange.getFromRouteId() == null) {
if (routeId == null) {
- this.routeId = routeContext.getRouteId();
+ this.routeId = route.getRouteId();
}
ExtendedExchange ee = (ExtendedExchange) exchange;
ee.setFromRouteId(routeId);
@@ -632,10 +632,10 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
}
// for any exchange we should push/pop route context so we can keep track of which route we are routing
- if (routeContext != null) {
+ if (route != null) {
UnitOfWork existing = exchange.getUnitOfWork();
if (existing != null) {
- existing.pushRouteContext(routeContext);
+ existing.pushRoute(route);
}
}
@@ -652,8 +652,8 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
}
// after UoW is done lets pop the route context which must be done on every existing UoW
- if (routeContext != null && existing != null) {
- existing.popRouteContext();
+ if (route != null && existing != null) {
+ existing.popRoute();
}
}
@@ -674,8 +674,8 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
private final UnitOfWork parent;
- public ChildUnitOfWorkProcessorAdvice(RouteContext routeContext, CamelContext camelContext, UnitOfWork parent) {
- super(routeContext, camelContext);
+ public ChildUnitOfWorkProcessorAdvice(Route route, CamelContext camelContext, UnitOfWork parent) {
+ super(route, camelContext);
this.parent = parent;
}
@@ -709,11 +709,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
// route id from the exchange UoW state
String targetRouteId = this.routeId;
if (targetRouteId == null) {
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- targetRouteId = rc.getRouteId();
- }
+ targetRouteId = ExchangeHelper.getRouteId(exchange);
}
MessageHistory history = factory.newMessageHistory(targetRouteId, definition, System.currentTimeMillis(), exchange);
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java
index 65f1587..1a516e0 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/MulticastProcessor.java
@@ -47,12 +47,12 @@ import org.apache.camel.ExtendedExchange;
import org.apache.camel.Navigate;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.StreamCache;
import org.apache.camel.Traceable;
import org.apache.camel.spi.IdAware;
import org.apache.camel.spi.ReactiveExecutor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RouteIdAware;
import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.support.AsyncProcessorConverterHelper;
@@ -68,7 +68,6 @@ import org.apache.camel.util.concurrent.AsyncCompletionService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
import static org.apache.camel.util.ObjectHelper.notNull;
/**
@@ -137,9 +136,9 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
* <p/>
* See the <tt>createProcessorExchangePair</tt> and <tt>createErrorHandler</tt> methods.
*/
- static final class ErrorHandlerKey extends KeyValueHolder<RouteContext, Processor> {
+ static final class ErrorHandlerKey extends KeyValueHolder<Route, Processor> {
- ErrorHandlerKey(RouteContext key, Processor value) {
+ ErrorHandlerKey(Route key, Processor value) {
super(key, value);
}
@@ -662,8 +661,8 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
}
// and add the pair
- RouteContext routeContext = exchange.getUnitOfWork() != null ? exchange.getUnitOfWork().getRouteContext() : null;
- result.add(createProcessorExchangePair(index++, processor, copy, routeContext));
+ Route route = exchange.getUnitOfWork() != null ? exchange.getUnitOfWork().getRoute() : null;
+ result.add(createProcessorExchangePair(index++, processor, copy, route));
}
if (exchange.getException() != null) {
@@ -684,18 +683,18 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
* @param index the index
* @param processor the processor
* @param exchange the exchange
- * @param routeContext the route context
+ * @param route the route context
* @return prepared for use
*/
protected ProcessorExchangePair createProcessorExchangePair(int index, Processor processor, Exchange exchange,
- RouteContext routeContext) {
+ Route route) {
Processor prepared = processor;
// set property which endpoint we send to
setToEndpoint(exchange, prepared);
// rework error handling to support fine grained error handling
- prepared = createErrorHandler(routeContext, exchange, prepared);
+ prepared = createErrorHandler(route, exchange, prepared);
// invoke on prepare on the exchange if specified
if (onPrepare != null) {
@@ -708,20 +707,20 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
return new DefaultProcessorExchangePair(index, processor, prepared, exchange);
}
- protected Processor createErrorHandler(RouteContext routeContext, Exchange exchange, Processor processor) {
+ protected Processor createErrorHandler(Route route, Exchange exchange, Processor processor) {
Processor answer;
boolean tryBlock = exchange.getProperty(Exchange.TRY_ROUTE_BLOCK, false, boolean.class);
// do not wrap in error handler if we are inside a try block
- if (!tryBlock && routeContext != null) {
+ if (!tryBlock && route != null) {
// wrap the producer in error handler so we have fine grained error handling on
// the output side instead of the input side
// this is needed to support redelivery on that output alone and not doing redelivery
// for the entire multicast block again which will start from scratch again
// create key for cache
- final ErrorHandlerKey key = new ErrorHandlerKey(routeContext, processor);
+ final ErrorHandlerKey key = new ErrorHandlerKey(route, processor);
// lookup cached first to reuse and preserve memory
answer = errorHandlers.get(key);
@@ -734,10 +733,10 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
// create error handler (create error handler directly to keep it light weight,
// instead of using ProcessorReifier.wrapInErrorHandler)
try {
- processor = routeContext.createErrorHandler(processor);
+ processor = route.createErrorHandler(processor);
// and wrap in unit of work processor so the copy exchange also can run under UoW
- answer = createUnitOfWorkProcessor(routeContext, processor, exchange);
+ answer = createUnitOfWorkProcessor(route, processor, exchange);
boolean child = exchange.getProperty(Exchange.PARENT_UNIT_OF_WORK, UnitOfWork.class) != null;
@@ -755,7 +754,7 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
}
} else {
// and wrap in unit of work processor so the copy exchange also can run under UoW
- answer = createUnitOfWorkProcessor(routeContext, processor, exchange);
+ answer = createUnitOfWorkProcessor(route, processor, exchange);
}
return answer;
@@ -764,20 +763,19 @@ public class MulticastProcessor extends AsyncProcessorSupport implements Navigat
/**
* Strategy to create the unit of work to be used for the sub route
*
- * @param routeContext the route context
* @param processor the processor
* @param exchange the exchange
* @return the unit of work processor
*/
- protected Processor createUnitOfWorkProcessor(RouteContext routeContext, Processor processor, Exchange exchange) {
+ protected Processor createUnitOfWorkProcessor(Route route, Processor processor, Exchange exchange) {
CamelInternalProcessor internal = new CamelInternalProcessor(exchange.getContext(), processor);
// and wrap it in a unit of work so the UoW is on the top, so the entire route will be in the same UoW
UnitOfWork parent = exchange.getProperty(Exchange.PARENT_UNIT_OF_WORK, UnitOfWork.class);
if (parent != null) {
- internal.addAdvice(new CamelInternalProcessor.ChildUnitOfWorkProcessorAdvice(routeContext, exchange.getContext(), parent));
+ internal.addAdvice(new CamelInternalProcessor.ChildUnitOfWorkProcessorAdvice(route, exchange.getContext(), parent));
} else {
- internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(routeContext, exchange.getContext()));
+ internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(route, exchange.getContext()));
}
return internal;
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
index a031939..cbfbd62 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/RecipientListProcessor.java
@@ -33,8 +33,8 @@ import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.spi.NormalizedEndpointUri;
+import org.apache.camel.Route;
import org.apache.camel.spi.ProducerCache;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.AsyncProcessorConverterHelper;
import org.apache.camel.support.EndpointHelper;
import org.apache.camel.support.ExchangeHelper;
@@ -254,8 +254,8 @@ public class RecipientListProcessor extends MulticastProcessor {
setToEndpoint(copy, producer);
// rework error handling to support fine grained error handling
- RouteContext routeContext = exchange.getUnitOfWork() != null ? exchange.getUnitOfWork().getRouteContext() : null;
- Processor prepared = createErrorHandler(routeContext, copy, producer);
+ Route route = exchange.getUnitOfWork() != null ? exchange.getUnitOfWork().getRoute() : null;
+ Processor prepared = createErrorHandler(route, copy, producer);
// invoke on prepare on the exchange if specified
if (onPrepare != null) {
@@ -270,20 +270,6 @@ public class RecipientListProcessor extends MulticastProcessor {
return new RecipientProcessorExchangePair(index, producerCache, endpoint, producer, prepared, copy, pattern, prototypeEndpoint);
}
- @Override
- protected Processor createErrorHandler(RouteContext routeContext, Exchange exchange, Processor processor) {
- Processor answer = super.createErrorHandler(routeContext, exchange, processor);
- exchange.adapt(ExtendedExchange.class).addOnCompletion(new SynchronizationAdapter() {
- @Override
- public void onDone(Exchange exchange) {
- // remove error handler builder from route context as we are done with the recipient list
- // and we cannot reuse this and must remove it to avoid leaking the error handler on the route context
- routeContext.removeErrorHandlers(routeContext.getErrorHandlerFactory());
- }
- });
- return answer;
- }
-
protected static Object prepareRecipient(Exchange exchange, Object recipient) throws NoTypeConversionAvailableException {
if (recipient instanceof Endpoint || recipient instanceof NormalizedEndpointUri) {
return recipient;
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java b/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java
index d88d9c7..4098ec0 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/RoutingSlip.java
@@ -28,6 +28,7 @@ import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.FailedToCreateProducerException;
import org.apache.camel.Message;
import org.apache.camel.NoTypeConversionAvailableException;
+import org.apache.camel.Route;
import org.apache.camel.Traceable;
import org.apache.camel.impl.engine.DefaultProducerCache;
import org.apache.camel.impl.engine.EmptyProducerCache;
@@ -35,7 +36,6 @@ import org.apache.camel.spi.EndpointUtilizationStatistics;
import org.apache.camel.spi.IdAware;
import org.apache.camel.spi.NormalizedEndpointUri;
import org.apache.camel.spi.ProducerCache;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RouteIdAware;
import org.apache.camel.support.AsyncProcessorSupport;
import org.apache.camel.support.ExchangeHelper;
@@ -46,7 +46,6 @@ import org.apache.camel.support.service.ServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
import static org.apache.camel.processor.PipelineHelper.continueProcessing;
import static org.apache.camel.util.ObjectHelper.notNull;
@@ -388,13 +387,13 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
return copy;
}
- protected AsyncProcessor createErrorHandler(RouteContext routeContext, Exchange exchange, AsyncProcessor processor, Endpoint endpoint) {
+ protected AsyncProcessor createErrorHandler(Route route, Exchange exchange, AsyncProcessor processor, Endpoint endpoint) {
AsyncProcessor answer = processor;
boolean tryBlock = exchange.getProperty(Exchange.TRY_ROUTE_BLOCK, false, boolean.class);
// do not wrap in error handler if we are inside a try block
- if (!tryBlock && routeContext != null && errorHandler != null) {
+ if (!tryBlock && route != null && errorHandler != null) {
// wrap the producer in error handler so we have fine grained error handling on
// the output side instead of the input side
// this is needed to support redelivery on that output alone and not doing redelivery
@@ -425,8 +424,8 @@ public class RoutingSlip extends AsyncProcessorSupport implements Traceable, IdA
return producerCache.doInAsyncProducer(endpoint, exchange, callback, (p, ex, cb) -> {
// rework error handling to support fine grained error handling
- RouteContext routeContext = ex.getUnitOfWork() != null ? ex.getUnitOfWork().getRouteContext() : null;
- AsyncProcessor target = createErrorHandler(routeContext, ex, p, endpoint);
+ Route route = ex.getUnitOfWork() != null ? ex.getUnitOfWork().getRoute() : null;
+ AsyncProcessor target = createErrorHandler(route, ex, p, endpoint);
// set property which endpoint we send to and the producer that can do it
ex.setProperty(Exchange.TO_ENDPOINT, endpoint.getEndpointUri());
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/Splitter.java b/core/camel-base/src/main/java/org/apache/camel/processor/Splitter.java
index 491358c..b06e602 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/Splitter.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/Splitter.java
@@ -34,11 +34,11 @@ import org.apache.camel.Expression;
import org.apache.camel.ExtendedExchange;
import org.apache.camel.Message;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.Traceable;
import org.apache.camel.processor.aggregate.ShareUnitOfWorkAggregationStrategy;
import org.apache.camel.processor.aggregate.UseOriginalAggregationStrategy;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.ObjectHelper;
import org.apache.camel.util.IOHelper;
@@ -137,7 +137,7 @@ public class Splitter extends MulticastProcessor implements AsyncProcessor, Trac
final Object value;
final Iterator<?> iterator;
private final Exchange copy;
- private final RouteContext routeContext;
+ private final Route route;
private final Exchange original;
private SplitterIterable(Exchange exchange, Object value) {
@@ -145,7 +145,7 @@ public class Splitter extends MulticastProcessor implements AsyncProcessor, Trac
this.value = value;
this.iterator = ObjectHelper.createIterator(value);
this.copy = copyAndPrepareSubExchange(exchange, true);
- this.routeContext = exchange.getUnitOfWork() != null ? exchange.getUnitOfWork().getRouteContext() : null;
+ this.route = exchange.getUnitOfWork() != null ? exchange.getUnitOfWork().getRoute() : null;
}
@Override
@@ -197,7 +197,7 @@ public class Splitter extends MulticastProcessor implements AsyncProcessor, Trac
Message in = newExchange.getIn();
in.setBody(part);
}
- return createProcessorExchangePair(index++, getProcessors().iterator().next(), newExchange, routeContext);
+ return createProcessorExchangePair(index++, getProcessors().iterator().next(), newExchange, route);
} else {
return null;
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java b/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
index 5034a07..7b23d0e 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/channel/DefaultChannel.java
@@ -29,6 +29,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.NamedNode;
import org.apache.camel.NamedRoute;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.processor.CamelInternalProcessor;
import org.apache.camel.processor.WrapProcessor;
import org.apache.camel.processor.errorhandler.RedeliveryErrorHandler;
@@ -38,7 +39,6 @@ import org.apache.camel.spi.Debugger;
import org.apache.camel.spi.InterceptStrategy;
import org.apache.camel.spi.ManagementInterceptStrategy;
import org.apache.camel.spi.MessageHistoryFactory;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.Tracer;
import org.apache.camel.support.OrderedComparator;
import org.apache.camel.support.service.ServiceHelper;
@@ -67,7 +67,7 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
private NamedNode definition;
private ManagementInterceptStrategy.InstrumentationProcessor<?> instrumentationProcessor;
private CamelContext camelContext;
- private RouteContext routeContext;
+ private Route route;
private boolean routeScoped = true;
public DefaultChannel(CamelContext camelContext) {
@@ -131,8 +131,8 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
}
@Override
- public RouteContext getRouteContext() {
- return routeContext;
+ public Route getRoute() {
+ return route;
}
@Override
@@ -170,22 +170,22 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
* If the initialized output definition contained outputs (children) then
* the childDefinition will be set so we can leverage fine grained tracing
*
- * @param routeContext the route context
+ * @param route the route context
* @param definition the route definition the {@link Channel} represents
* @param childDefinition the child definition
* @throws Exception is thrown if some error occurred
*/
- public void initChannel(RouteContext routeContext,
+ public void initChannel(Route route,
NamedNode definition,
NamedNode childDefinition,
List<InterceptStrategy> interceptors,
Processor nextProcessor,
- NamedRoute route,
+ NamedRoute routeDefinition,
boolean first,
boolean routeScoped) throws Exception {
- this.routeContext = routeContext;
+ this.route = route;
this.definition = definition;
- this.camelContext = routeContext.getCamelContext();
+ this.camelContext = route.getCamelContext();
this.nextProcessor = nextProcessor;
this.routeScoped = routeScoped;
@@ -201,12 +201,12 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
// setup instrumentation processor for management (jmx)
// this is later used in postInitChannel as we need to setup the error handler later as well
- ManagementInterceptStrategy managed = routeContext.getManagementInterceptStrategy();
+ ManagementInterceptStrategy managed = route.getManagementInterceptStrategy();
if (managed != null) {
instrumentationProcessor = managed.createProcessor(targetOutputDef, nextProcessor);
}
- if (routeContext.isMessageHistory()) {
+ if (route.isMessageHistory()) {
// add message history advice
MessageHistoryFactory factory = camelContext.getMessageHistoryFactory();
addAdvice(new MessageHistoryAdvice(factory, targetOutputDef));
@@ -216,7 +216,7 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
// then wrap the output with the tracer and debugger (debugger first,
// as we do not want regular tracer to trace the debugger)
- if (routeContext.isDebugging()) {
+ if (route.isDebugging()) {
if (camelContext.getDebugger() != null) {
// use custom debugger
Debugger debugger = camelContext.getDebugger();
@@ -229,15 +229,15 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
}
}
- if (routeContext.isBacklogTracing()) {
+ if (route.isBacklogTracing()) {
// add jmx backlog tracer
BacklogTracer backlogTracer = getOrCreateBacklogTracer();
- addAdvice(new BacklogTracerAdvice(backlogTracer, targetOutputDef, route, first));
+ addAdvice(new BacklogTracerAdvice(backlogTracer, targetOutputDef, routeDefinition, first));
}
- if (routeContext.isTracing()) {
+ if (route.isTracing()) {
// add logger tracer
Tracer tracer = camelContext.getTracer();
- addAdvice(new TracingAdvice(tracer, targetOutputDef, route, first));
+ addAdvice(new TracingAdvice(tracer, targetOutputDef, routeDefinition, first));
}
// sort interceptors according to ordered
@@ -249,7 +249,7 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
for (InterceptStrategy strategy : interceptors) {
Processor next = target == nextProcessor ? null : nextProcessor;
// use the fine grained definition (eg the child if available). Its always possible to get back to the parent
- Processor wrapped = strategy.wrapProcessorInInterceptors(routeContext.getCamelContext(), targetOutputDef, target, next);
+ Processor wrapped = strategy.wrapProcessorInInterceptors(route.getCamelContext(), targetOutputDef, target, next);
if (!(wrapped instanceof AsyncProcessor)) {
LOG.warn("Interceptor: " + strategy + " at: " + definition + " does not return an AsyncProcessor instance."
+ " This causes the asynchronous routing engine to not work as optimal as possible."
@@ -264,12 +264,12 @@ public class DefaultChannel extends CamelInternalProcessor implements Channel {
target = wrapped;
}
- if (routeContext.isStreamCaching()) {
+ if (route.isStreamCaching()) {
addAdvice(new StreamCachingAdvice(camelContext.getStreamCachingStrategy()));
}
- if (routeContext.getDelayer() != null && routeContext.getDelayer() > 0) {
- addAdvice(new DelayerAdvice(routeContext.getDelayer()));
+ if (route.getDelayer() != null && route.getDelayer() > 0) {
+ addAdvice(new DelayerAdvice(route.getDelayer()));
}
// sets the delegate to our wrapped output
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/DefaultExceptionPolicyStrategy.java b/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/DefaultExceptionPolicyStrategy.java
index a99fdb49f..33660bd 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/DefaultExceptionPolicyStrategy.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/DefaultExceptionPolicyStrategy.java
@@ -23,7 +23,7 @@ import java.util.Set;
import java.util.TreeMap;
import org.apache.camel.Exchange;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -133,7 +133,7 @@ public class DefaultExceptionPolicyStrategy implements ExceptionPolicyStrategy {
// so we will not pick an ExceptionPolicy from another route
String typeRoute = type.getRouteId();
if (exchange != null && exchange.getUnitOfWork() != null && ObjectHelper.isNotEmpty(typeRoute)) {
- RouteContext rc = exchange.getUnitOfWork().getRouteContext();
+ Route rc = exchange.getUnitOfWork().getRoute();
String route = rc != null ? rc.getRouteId() : null;
if (route != null && !route.equals(typeRoute)) {
if (LOG.isTraceEnabled()) {
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java b/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
index c8b0b08..807ee5a 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
@@ -36,12 +36,12 @@ import org.apache.camel.Message;
import org.apache.camel.Navigate;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.CamelLogger;
import org.apache.camel.spi.ExchangeFormatter;
import org.apache.camel.spi.ReactiveExecutor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.ShutdownPrepared;
import org.apache.camel.spi.ShutdownStrategy;
import org.apache.camel.spi.UnitOfWork;
@@ -486,8 +486,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
// and put failure endpoint back as well
ee.setProperty(Exchange.FAILURE_ENDPOINT, ee.getProperty(Exchange.TO_ENDPOINT));
// and store the route id so we know in which route we failed
- UnitOfWork uow = ee.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
+ Route rc = ExchangeHelper.getRoute(ee);
if (rc != null) {
ee.setProperty(Exchange.FAILURE_ROUTE_ID, rc.getRouteId());
}
@@ -873,8 +872,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
// route specific failure handler?
Processor processor = null;
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
+ Route rc = ExchangeHelper.getRoute(exchange);
if (rc != null) {
processor = rc.getOnException(exceptionPolicy.getId());
} else {
@@ -1033,7 +1031,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
exchange.setProperty(Exchange.FAILURE_ENDPOINT, exchange.getProperty(Exchange.TO_ENDPOINT));
// and store the route id so we know in which route we failed
UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
+ Route rc = uow != null ? uow.getRoute() : null;
if (rc != null) {
exchange.setProperty(Exchange.FAILURE_ROUTE_ID, rc.getRouteId());
}
@@ -1171,10 +1169,9 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
// and put failure endpoint back as well
ee.setProperty(Exchange.FAILURE_ENDPOINT, ee.getProperty(Exchange.TO_ENDPOINT));
// and store the route id so we know in which route we failed
- UnitOfWork uow = ee.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- ee.setProperty(Exchange.FAILURE_ROUTE_ID, rc.getRouteId());
+ String routeId = ExchangeHelper.getAtRouteId(ee);
+ if (routeId != null) {
+ ee.setProperty(Exchange.FAILURE_ROUTE_ID, routeId);
}
}
diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
index 367f091..e8f54f1 100644
--- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
+++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java
@@ -39,7 +39,7 @@ import org.apache.camel.model.Model;
import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition;
import org.apache.camel.model.cloud.ServiceCallDefinition;
import org.apache.camel.model.cloud.ServiceCallDefinitionConstants;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.function.Suppliers;
@@ -61,10 +61,10 @@ public class ServiceCallProcessorFactory extends TypedProcessorFactory<ServiceCa
// *****************************
@Override
- public Processor doCreateProcessor(RouteContext routeContext, ServiceCallDefinition definition) throws Exception {
+ public Processor doCreateProcessor(Route route, ServiceCallDefinition definition) throws Exception {
this.definition = definition;
- final CamelContext camelContext = routeContext.getCamelContext();
+ final CamelContext camelContext = route.getCamelContext();
final ServiceDiscovery serviceDiscovery = retrieveServiceDiscovery(camelContext);
final ServiceFilter serviceFilter = retrieveServiceFilter(camelContext);
final ServiceChooser serviceChooser = retrieveServiceChooser(camelContext);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/builder/NotifyBuilder.java b/core/camel-core-engine/src/main/java/org/apache/camel/builder/NotifyBuilder.java
index ba32713..c70a64e 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/builder/NotifyBuilder.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/builder/NotifyBuilder.java
@@ -38,10 +38,9 @@ import org.apache.camel.spi.CamelEvent.ExchangeCreatedEvent;
import org.apache.camel.spi.CamelEvent.ExchangeFailedEvent;
import org.apache.camel.spi.CamelEvent.ExchangeSentEvent;
import org.apache.camel.spi.NotifyBuilderMatcher;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.support.EndpointHelper;
import org.apache.camel.support.EventNotifierSupport;
+import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.PatternHelper;
import org.apache.camel.support.service.ServiceHelper;
import org.apache.camel.util.ObjectHelper;
@@ -211,10 +210,8 @@ public class NotifyBuilder {
@Override
public boolean onExchangeSent(Exchange exchange, Endpoint endpoint, long timeTaken) {
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- String id = rc.getRouteId();
+ String id = ExchangeHelper.getAtRouteId(exchange);
+ if (id != null) {
return PatternHelper.matchPattern(id, routeId);
} else {
return false;
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
index 1593bb3..cb349cc 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
@@ -45,7 +45,6 @@ import org.apache.camel.model.rest.RestDefinition;
import org.apache.camel.model.transformer.TransformerDefinition;
import org.apache.camel.model.validator.ValidatorDefinition;
import org.apache.camel.reifier.RouteReifier;
-import org.apache.camel.spi.RouteContext;
public class DefaultModel implements Model {
@@ -350,9 +349,7 @@ public class DefaultModel implements Model {
AbstractCamelContext mcc = camelContext.adapt(AbstractCamelContext.class);
mcc.setStartingRoutes(true);
try {
- String id = routeDefinition.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
- RouteContext routeContext = new DefaultRouteContext(camelContext, routeDefinition, id);
- Route route = new RouteReifier(routeContext, routeDefinition).createRoute();
+ Route route = new RouteReifier(camelContext, routeDefinition).createRoute();
RouteService routeService = new RouteService(route);
mcc.startRouteService(routeService, true);
} finally {
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultRouteContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
deleted file mode 100644
index 821f74a..0000000
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.impl;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.NamedNode;
-import org.apache.camel.Processor;
-import org.apache.camel.impl.engine.AbstractRouteContext;
-import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
-import org.apache.camel.spi.RouteContext;
-
-/**
- * The context used to activate new routing rules
- */
-public class DefaultRouteContext extends AbstractRouteContext implements RouteContext {
-
- public DefaultRouteContext(CamelContext camelContext, NamedNode route, String routeId) {
- super(camelContext, route, routeId);
- }
-
- @Override
- public Processor createErrorHandler(Processor processor) throws Exception {
- return ErrorHandlerReifier.reifier(this, getErrorHandlerFactory())
- .createErrorHandler(processor);
- }
-
-}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteService.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteService.java
index 81eb623..cbc1b7e 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteService.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/RouteService.java
@@ -41,7 +41,7 @@ public class RouteService extends BaseRouteService {
public RouteService(Route route) {
super(route);
- this.routeDefinition = (RouteDefinition)route.getRouteContext().getRoute();
+ this.routeDefinition = (RouteDefinition) route.getRoute();
}
public RouteDefinition getRouteDefinition() {
@@ -63,7 +63,7 @@ public class RouteService extends BaseRouteService {
if (!getCamelContext().isAutoStartup()) {
return false;
}
- if (!getRouteContext().isAutoStartup()) {
+ if (!getRoute().isAutoStartup()) {
return false;
}
if (routeDefinition.getAutoStartup() == null) {
@@ -84,7 +84,7 @@ public class RouteService extends BaseRouteService {
// the XML DSL will configure error handlers using refs, so we need this
// additional test
if (routeDefinition.getErrorHandlerRef() != null) {
- ErrorHandlerFactory routeScoped = getRouteContext().getErrorHandlerFactory();
+ ErrorHandlerFactory routeScoped = getRoute().getErrorHandlerFactory();
ErrorHandlerFactory contextScoped = getCamelContext().adapt(ExtendedCamelContext.class).getErrorHandlerFactory();
return routeScoped != null && contextScoped != null && routeScoped == contextScoped;
}
@@ -103,7 +103,7 @@ public class RouteService extends BaseRouteService {
if (output instanceof OnExceptionDefinition) {
OnExceptionDefinition onExceptionDefinition = (OnExceptionDefinition)output;
if (onExceptionDefinition.isRouteScoped()) {
- Processor errorHandler = getRouteContext().getOnException(onExceptionDefinition.getId());
+ Processor errorHandler = getRoute().getOnException(onExceptionDefinition.getId());
if (errorHandler instanceof Service) {
services.add((Service)errorHandler);
}
@@ -111,7 +111,7 @@ public class RouteService extends BaseRouteService {
} else if (output instanceof OnCompletionDefinition) {
OnCompletionDefinition onCompletionDefinition = (OnCompletionDefinition)output;
if (onCompletionDefinition.isRouteScoped()) {
- Processor onCompletionProcessor = getRouteContext().getOnCompletion(onCompletionDefinition.getId());
+ Processor onCompletionProcessor = getRoute().getOnCompletion(onCompletionDefinition.getId());
if (onCompletionProcessor instanceof Service) {
services.add((Service)onCompletionProcessor);
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
index e1b179a..2d09695 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java
@@ -38,7 +38,6 @@ import org.apache.camel.cluster.CamelClusterService;
import org.apache.camel.cluster.CamelClusterView;
import org.apache.camel.spi.CamelEvent;
import org.apache.camel.spi.CamelEvent.CamelContextStartedEvent;
-import org.apache.camel.support.DefaultConsumer;
import org.apache.camel.support.EventNotifierSupport;
import org.apache.camel.support.RoutePolicySupport;
import org.apache.camel.support.cluster.ClusterServiceHelper;
@@ -171,7 +170,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca
super.onInit(route);
LOG.info("Route managed by {}. Setting route {} AutoStartup flag to false.", getClass(), route.getId());
- route.getRouteContext().setAutoStartup(false);
+ route.setAutoStartup(false);
this.refCount.retain();
this.stoppedRoutes.add(route);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractPolicyReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractPolicyReifier.java
index 8f111b4..452bfc6 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractPolicyReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractPolicyReifier.java
@@ -21,10 +21,10 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.NoSuchBeanException;
+import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.TransactedPolicy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -35,8 +35,8 @@ public abstract class AbstractPolicyReifier<T extends ProcessorDefinition<?>> ex
private static final Logger LOG = LoggerFactory.getLogger(TransactedReifier.class);
- public AbstractPolicyReifier(RouteContext routeContext, T definition) {
- super(routeContext, definition);
+ public AbstractPolicyReifier(Route route, T definition) {
+ super(route, definition);
}
public AbstractPolicyReifier(CamelContext camelContext, T definition) {
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractReifier.java
index 0d82b28..959eb5d 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AbstractReifier.java
@@ -22,29 +22,28 @@ import java.util.Set;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.Expression;
-import org.apache.camel.NoSuchBeanException;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.Predicate;
+import org.apache.camel.Route;
import org.apache.camel.model.ExpressionSubElementDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.reifier.language.ExpressionReifier;
import org.apache.camel.spi.BeanRepository;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
public abstract class AbstractReifier implements BeanRepository {
- protected final RouteContext routeContext;
+ protected final org.apache.camel.Route route;
protected final CamelContext camelContext;
- public AbstractReifier(RouteContext routeContext) {
- this.routeContext = ObjectHelper.notNull(routeContext, "RouteContext");
- this.camelContext = routeContext.getCamelContext();
+ public AbstractReifier(Route route) {
+ this.route = ObjectHelper.notNull(route, "Route");
+ this.camelContext = route.getCamelContext();
}
public AbstractReifier(CamelContext camelContext) {
- this.routeContext = null;
+ this.route = null;
this.camelContext = ObjectHelper.notNull(camelContext, "CamelContext");
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AggregateReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AggregateReifier.java
index 16ea9d3..1b0cfce 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AggregateReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/AggregateReifier.java
@@ -24,6 +24,7 @@ import org.apache.camel.CamelContextAware;
import org.apache.camel.Expression;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.AggregateDefinition;
import org.apache.camel.model.OptimisticLockRetryPolicyDefinition;
import org.apache.camel.model.ProcessorDefinition;
@@ -33,13 +34,12 @@ import org.apache.camel.processor.aggregate.AggregateProcessor;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
import org.apache.camel.processor.aggregate.OptimisticLockRetryPolicy;
import org.apache.camel.spi.AggregationRepository;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.concurrent.SynchronousExecutorService;
public class AggregateReifier extends ProcessorReifier<AggregateDefinition> {
- public AggregateReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, AggregateDefinition.class.cast(definition));
+ public AggregateReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, AggregateDefinition.class.cast(definition));
}
@Override
@@ -52,7 +52,7 @@ public class AggregateReifier extends ProcessorReifier<AggregateDefinition> {
// wrap the aggregate route in a unit of work processor
CamelInternalProcessor internal = new CamelInternalProcessor(camelContext, childProcessor);
- internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(routeContext, camelContext));
+ internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(route, camelContext));
Expression correlation = createExpression(definition.getExpression());
AggregationStrategy strategy = createAggregationStrategy();
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/BeanReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/BeanReifier.java
index 1ba7589..4fa6126 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/BeanReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/BeanReifier.java
@@ -17,19 +17,17 @@
package org.apache.camel.reifier;
import org.apache.camel.BeanScope;
-import org.apache.camel.CamelContext;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.BeanDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.spi.BeanProcessorFactory;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.support.CamelContextHelper;
public class BeanReifier extends ProcessorReifier<BeanDefinition> {
- public BeanReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, BeanDefinition.class.cast(definition));
+ public BeanReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, BeanDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CatchReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CatchReifier.java
index 3a28fa3..f8d8009 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CatchReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CatchReifier.java
@@ -21,16 +21,16 @@ import java.util.List;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.CatchDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.TryDefinition;
import org.apache.camel.processor.CatchProcessor;
-import org.apache.camel.spi.RouteContext;
public class CatchReifier extends ProcessorReifier<CatchDefinition> {
- public CatchReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, CatchDefinition.class.cast(definition));
+ public CatchReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, CatchDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ChoiceReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ChoiceReifier.java
index baa6add..46ab340 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ChoiceReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ChoiceReifier.java
@@ -22,20 +22,19 @@ import java.util.List;
import org.apache.camel.ExpressionFactory;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.ExpressionClause;
import org.apache.camel.model.ChoiceDefinition;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.ProcessorDefinitionHelper;
import org.apache.camel.model.WhenDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.processor.ChoiceProcessor;
import org.apache.camel.processor.FilterProcessor;
-import org.apache.camel.spi.RouteContext;
public class ChoiceReifier extends ProcessorReifier<ChoiceDefinition> {
- public ChoiceReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, ChoiceDefinition.class.cast(definition));
+ public ChoiceReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, ChoiceDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CircuitBreakerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CircuitBreakerReifier.java
index 40cea74..2b454d4 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CircuitBreakerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/CircuitBreakerReifier.java
@@ -17,14 +17,14 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.CircuitBreakerDefinition;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.spi.RouteContext;
public class CircuitBreakerReifier extends ProcessorReifier<CircuitBreakerDefinition> {
- public CircuitBreakerReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, CircuitBreakerDefinition.class.cast(definition));
+ public CircuitBreakerReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, CircuitBreakerDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ClaimCheckReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ClaimCheckReifier.java
index f725bc7..4d7c09f 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ClaimCheckReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ClaimCheckReifier.java
@@ -19,20 +19,20 @@ package org.apache.camel.reifier;
import org.apache.camel.AggregationStrategy;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ClaimCheckDefinition;
import org.apache.camel.model.ClaimCheckOperation;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.ClaimCheckProcessor;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.ObjectHelper;
import static org.apache.camel.util.ObjectHelper.notNull;
public class ClaimCheckReifier extends ProcessorReifier<ClaimCheckDefinition> {
- public ClaimCheckReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, ClaimCheckDefinition.class.cast(definition));
+ public ClaimCheckReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, ClaimCheckDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java
index 53fb78e..0c109eb 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ConvertBodyReifier.java
@@ -20,16 +20,15 @@ import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ConvertBodyDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.ConvertBodyProcessor;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.support.CamelContextHelper;
public class ConvertBodyReifier extends ProcessorReifier<ConvertBodyDefinition> {
- public ConvertBodyReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, ConvertBodyDefinition.class.cast(definition));
+ public ConvertBodyReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, ConvertBodyDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DelayReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DelayReifier.java
index 8f65fab..ae4db8a 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DelayReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DelayReifier.java
@@ -20,15 +20,15 @@ import java.util.concurrent.ScheduledExecutorService;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.DelayDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.Delayer;
-import org.apache.camel.spi.RouteContext;
public class DelayReifier extends ExpressionReifier<DelayDefinition> {
- public DelayReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, DelayDefinition.class.cast(definition));
+ public DelayReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, DelayDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DynamicRouterReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DynamicRouterReifier.java
index b84af32..58c75fa 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DynamicRouterReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/DynamicRouterReifier.java
@@ -19,15 +19,15 @@ package org.apache.camel.reifier;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.DynamicRouterDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.DynamicRouter;
-import org.apache.camel.spi.RouteContext;
public class DynamicRouterReifier extends ExpressionReifier<DynamicRouterDefinition<?>> {
- public DynamicRouterReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, DynamicRouterDefinition.class.cast(definition));
+ public DynamicRouterReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, DynamicRouterDefinition.class.cast(definition));
}
@Override
@@ -46,7 +46,7 @@ public class DynamicRouterReifier extends ExpressionReifier<DynamicRouterDefinit
// create error handler (create error handler directly to keep it light
// weight,
// instead of using ProcessorReifier.wrapInErrorHandler)
- AsyncProcessor errorHandler = (AsyncProcessor) routeContext.createErrorHandler(dynamicRouter.newRoutingSlipProcessorForErrorHandler());
+ AsyncProcessor errorHandler = (AsyncProcessor) route.createErrorHandler(dynamicRouter.newRoutingSlipProcessorForErrorHandler());
dynamicRouter.setErrorHandler(errorHandler);
return dynamicRouter;
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/EnrichReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/EnrichReifier.java
index 7dd0d53..b1d8714 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/EnrichReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/EnrichReifier.java
@@ -20,16 +20,16 @@ import org.apache.camel.AggregationStrategy;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.EnrichDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.Enricher;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
-import org.apache.camel.spi.RouteContext;
public class EnrichReifier extends ExpressionReifier<EnrichDefinition> {
- public EnrichReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, EnrichDefinition.class.cast(definition));
+ public EnrichReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, EnrichDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ExpressionReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ExpressionReifier.java
index 548c0e8..77667eb 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ExpressionReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ExpressionReifier.java
@@ -18,14 +18,14 @@ package org.apache.camel.reifier;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ExpressionNode;
import org.apache.camel.processor.FilterProcessor;
-import org.apache.camel.spi.RouteContext;
abstract class ExpressionReifier<T extends ExpressionNode> extends ProcessorReifier<T> {
- protected ExpressionReifier(RouteContext routeContext, T definition) {
- super(routeContext, definition);
+ protected ExpressionReifier(Route route, T definition) {
+ super(route, definition);
}
/**
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FilterReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FilterReifier.java
index a440805..4d070ef 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FilterReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FilterReifier.java
@@ -17,15 +17,15 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.FilterDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.FilterProcessor;
-import org.apache.camel.spi.RouteContext;
public class FilterReifier extends ExpressionReifier<FilterDefinition> {
- public FilterReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, FilterDefinition.class.cast(definition));
+ public FilterReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, FilterDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FinallyReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FinallyReifier.java
index a97d7e2..5044ede 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FinallyReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/FinallyReifier.java
@@ -17,16 +17,16 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.FinallyDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.TryDefinition;
import org.apache.camel.processor.FinallyProcessor;
-import org.apache.camel.spi.RouteContext;
public class FinallyReifier extends ProcessorReifier<FinallyDefinition> {
- public FinallyReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, FinallyDefinition.class.cast(definition));
+ public FinallyReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, FinallyDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/IdempotentConsumerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/IdempotentConsumerReifier.java
index 95e7620..3c6cd08 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/IdempotentConsumerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/IdempotentConsumerReifier.java
@@ -18,17 +18,17 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.IdempotentConsumerDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.idempotent.IdempotentConsumer;
import org.apache.camel.spi.IdempotentRepository;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class IdempotentConsumerReifier extends ExpressionReifier<IdempotentConsumerDefinition> {
- public IdempotentConsumerReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, IdempotentConsumerDefinition.class.cast(definition));
+ public IdempotentConsumerReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, IdempotentConsumerDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptFromReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptFromReifier.java
index 181a57d..3b0798a 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptFromReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptFromReifier.java
@@ -18,16 +18,16 @@ package org.apache.camel.reifier;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.InterceptFromDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetHeaderDefinition;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.ExpressionAdapter;
public class InterceptFromReifier extends InterceptReifier<InterceptFromDefinition> {
- public InterceptFromReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, definition);
+ public InterceptFromReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java
index 7caa191..9f7877b 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptReifier.java
@@ -19,17 +19,17 @@ package org.apache.camel.reifier;
import org.apache.camel.CamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.InterceptDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.processor.Pipeline;
import org.apache.camel.spi.InterceptStrategy;
-import org.apache.camel.spi.RouteContext;
public class InterceptReifier<T extends InterceptDefinition> extends ProcessorReifier<T> {
- public InterceptReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (T) definition);
+ public InterceptReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (T) definition);
}
@Override
@@ -39,7 +39,7 @@ public class InterceptReifier<T extends InterceptDefinition> extends ProcessorRe
// add the output as a intercept strategy to the route context so its
// invoked on each processing step
- routeContext.getInterceptStrategies().add(new InterceptStrategy() {
+ route.getInterceptStrategies().add(new InterceptStrategy() {
private Processor interceptedTarget;
public Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception {
@@ -64,7 +64,7 @@ public class InterceptReifier<T extends InterceptDefinition> extends ProcessorRe
});
// remove me from the route so I am not invoked in a regular route path
- ((RouteDefinition)routeContext.getRoute()).getOutputs().remove(definition);
+ ((RouteDefinition) route.getRoute()).getOutputs().remove(definition);
// and return no processor to invoke next from me
return null;
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
index 8f67c94..9a6940a 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.camel.Endpoint;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.impl.engine.DefaultInterceptSendToEndpoint;
import org.apache.camel.model.InterceptSendToEndpointDefinition;
import org.apache.camel.model.ProcessorDefinition;
@@ -28,14 +29,13 @@ import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.processor.InterceptEndpointProcessor;
import org.apache.camel.spi.EndpointStrategy;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.EndpointHelper;
import org.apache.camel.util.URISupport;
public class InterceptSendToEndpointReifier extends ProcessorReifier<InterceptSendToEndpointDefinition> {
- public InterceptSendToEndpointReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (InterceptSendToEndpointDefinition) definition);
+ public InterceptSendToEndpointReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (InterceptSendToEndpointDefinition) definition);
}
@Override
@@ -48,12 +48,12 @@ public class InterceptSendToEndpointReifier extends ProcessorReifier<InterceptSe
ToDefinition to = new ToDefinition(parseString(definition.getAfterUri()));
// at first use custom factory
if (camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory() != null) {
- afterProcessor = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(routeContext, to);
+ afterProcessor = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(route, to);
}
// fallback to default implementation if factory did not create the
// processor
if (afterProcessor == null) {
- afterProcessor = reifier(routeContext, to).createProcessor();
+ afterProcessor = reifier(route, to).createProcessor();
}
}
final Processor after = afterProcessor;
@@ -86,7 +86,7 @@ public class InterceptSendToEndpointReifier extends ProcessorReifier<InterceptSe
// instead we use the proxy endpoints producer do the triggering. That
// is we trigger when someone sends
// an exchange to the endpoint, see InterceptSendToEndpoint for details.
- RouteDefinition route = (RouteDefinition)routeContext.getRoute();
+ RouteDefinition route = (RouteDefinition) this.route.getRoute();
List<ProcessorDefinition<?>> outputs = route.getOutputs();
outputs.remove(definition);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoadBalanceReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoadBalanceReifier.java
index 72c3d03..b4f28b2 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoadBalanceReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoadBalanceReifier.java
@@ -18,17 +18,17 @@ package org.apache.camel.reifier;
import org.apache.camel.Channel;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalanceDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.loadbalancer.FailoverLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.reifier.loadbalancer.LoadBalancerReifier;
-import org.apache.camel.spi.RouteContext;
public class LoadBalanceReifier extends ProcessorReifier<LoadBalanceDefinition> {
- public LoadBalanceReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (LoadBalanceDefinition)definition);
+ public LoadBalanceReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (LoadBalanceDefinition)definition);
}
@Override
@@ -39,7 +39,7 @@ public class LoadBalanceReifier extends ProcessorReifier<LoadBalanceDefinition>
LoadBalancer loadBalancer = definition.getLoadBalancerType().getLoadBalancer();
if (loadBalancer == null) {
// then create it and reuse it
- loadBalancer = LoadBalancerReifier.reifier(routeContext, definition.getLoadBalancerType()).createLoadBalancer();
+ loadBalancer = LoadBalancerReifier.reifier(route, definition.getLoadBalancerType()).createLoadBalancer();
definition.getLoadBalancerType().setLoadBalancer(loadBalancer);
// some load balancer can only support a fixed number of outputs
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LogReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LogReifier.java
index 7aa69a8..7a3a223 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LogReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LogReifier.java
@@ -23,12 +23,12 @@ import org.apache.camel.Expression;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.LogDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.LogProcessor;
import org.apache.camel.spi.CamelLogger;
import org.apache.camel.spi.MaskingFormatter;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.processor.DefaultMaskingFormatter;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StringHelper;
@@ -37,8 +37,8 @@ import org.slf4j.LoggerFactory;
public class LogReifier extends ProcessorReifier<LogDefinition> {
- public LogReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (LogDefinition)definition);
+ public LogReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (LogDefinition)definition);
}
@Override
@@ -78,7 +78,7 @@ public class LogReifier extends ProcessorReifier<LogDefinition> {
}
}
if (name == null) {
- name = routeContext.getRouteId();
+ name = route.getRouteId();
log.debug("LogName is not configured, using route id as logName: {}", name);
}
logger = LoggerFactory.getLogger(name);
@@ -92,7 +92,7 @@ public class LogReifier extends ProcessorReifier<LogDefinition> {
}
private MaskingFormatter getMaskingFormatter() {
- if (routeContext.isLogMask()) {
+ if (route.isLogMask()) {
MaskingFormatter formatter = lookup(MaskingFormatter.CUSTOM_LOG_MASK_REF, MaskingFormatter.class);
if (formatter == null) {
formatter = new DefaultMaskingFormatter();
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoopReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoopReifier.java
index 70b2a6b..47b0ca0 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoopReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/LoopReifier.java
@@ -19,15 +19,15 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.LoopDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.LoopProcessor;
-import org.apache.camel.spi.RouteContext;
public class LoopReifier extends ExpressionReifier<LoopDefinition> {
- public LoopReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (LoopDefinition)definition);
+ public LoopReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (LoopDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MarshalReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MarshalReifier.java
index b4fb614..367137b 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MarshalReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MarshalReifier.java
@@ -17,17 +17,17 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.MarshalDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.reifier.dataformat.DataFormatReifier;
import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.processor.MarshalProcessor;
public class MarshalReifier extends ProcessorReifier<MarshalDefinition> {
- public MarshalReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (MarshalDefinition) definition);
+ public MarshalReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (MarshalDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MulticastReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MulticastReifier.java
index c4a689d..50b0d23 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MulticastReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/MulticastReifier.java
@@ -23,18 +23,18 @@ import java.util.concurrent.ExecutorService;
import org.apache.camel.AggregationStrategy;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.MulticastDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.MulticastProcessor;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
import org.apache.camel.processor.aggregate.ShareUnitOfWorkAggregationStrategy;
import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
-import org.apache.camel.spi.RouteContext;
public class MulticastReifier extends ProcessorReifier<MulticastDefinition> {
- public MulticastReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (MulticastDefinition) definition);
+ public MulticastReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (MulticastDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnCompletionReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnCompletionReifier.java
index e97f67e..0221712 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnCompletionReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnCompletionReifier.java
@@ -20,17 +20,17 @@ import java.util.concurrent.ExecutorService;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.OnCompletionDefinition;
import org.apache.camel.model.OnCompletionMode;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.CamelInternalProcessor;
import org.apache.camel.processor.OnCompletionProcessor;
-import org.apache.camel.spi.RouteContext;
public class OnCompletionReifier extends ProcessorReifier<OnCompletionDefinition> {
- public OnCompletionReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (OnCompletionDefinition)definition);
+ public OnCompletionReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (OnCompletionDefinition)definition);
}
@Override
@@ -59,16 +59,16 @@ public class OnCompletionReifier extends ProcessorReifier<OnCompletionDefinition
}
if (original) {
// ensure allow original is turned on
- routeContext.setAllowUseOriginalMessage(true);
+ route.setAllowUseOriginalMessage(true);
}
Processor childProcessor = this.createChildProcessor(true);
// wrap the on completion route in a unit of work processor
CamelInternalProcessor internal = new CamelInternalProcessor(camelContext, childProcessor);
- internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(routeContext, camelContext));
+ internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(route, camelContext));
- routeContext.setOnCompletion(getId(definition), internal);
+ route.setOnCompletion(getId(definition), internal);
Predicate when = null;
if (definition.getOnWhen() != null) {
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnExceptionReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnExceptionReifier.java
index 99428ca..61652aa 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnExceptionReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnExceptionReifier.java
@@ -22,17 +22,17 @@ import java.util.List;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.OnExceptionDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.CatchProcessor;
import org.apache.camel.processor.FatalFallbackErrorHandler;
import org.apache.camel.spi.ClassResolver;
-import org.apache.camel.spi.RouteContext;
public class OnExceptionReifier extends ProcessorReifier<OnExceptionDefinition> {
- public OnExceptionReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (OnExceptionDefinition)definition);
+ public OnExceptionReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (OnExceptionDefinition)definition);
}
@Override
@@ -54,7 +54,7 @@ public class OnExceptionReifier extends ProcessorReifier<OnExceptionDefinition>
if (parseBoolean(definition.getUseOriginalMessage(), false)) {
// ensure allow original is turned on
- routeContext.setAllowUseOriginalMessage(true);
+ route.setAllowUseOriginalMessage(true);
}
// lets attach this on exception to the route error handler
@@ -64,12 +64,12 @@ public class OnExceptionReifier extends ProcessorReifier<OnExceptionDefinition>
// have child output
Processor errorHandler = new FatalFallbackErrorHandler(child);
String id = getId(definition);
- routeContext.setOnException(id, errorHandler);
+ route.setOnException(id, errorHandler);
}
// lookup the error handler builder
- ErrorHandlerFactory builder = routeContext.getErrorHandlerFactory();
+ ErrorHandlerFactory builder = route.getErrorHandlerFactory();
// and add this as error handlers
- routeContext.addErrorHandler(builder, definition);
+ route.addErrorHandler(builder, definition);
}
@Override
@@ -82,7 +82,7 @@ public class OnExceptionReifier extends ProcessorReifier<OnExceptionDefinition>
if (parseBoolean(definition.getUseOriginalMessage(), false)) {
// ensure allow original is turned on
- routeContext.setAllowUseOriginalMessage(true);
+ route.setAllowUseOriginalMessage(true);
}
// must validate configuration before creating processor
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnFallbackReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnFallbackReifier.java
index 3a6e2d1..80f423c 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnFallbackReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OnFallbackReifier.java
@@ -17,14 +17,14 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.OnFallbackDefinition;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.spi.RouteContext;
public class OnFallbackReifier extends ProcessorReifier<OnFallbackDefinition> {
- public OnFallbackReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (OnFallbackDefinition)definition);
+ public OnFallbackReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (OnFallbackDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OtherwiseReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OtherwiseReifier.java
index 2e78b4f..11c1090 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OtherwiseReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/OtherwiseReifier.java
@@ -17,14 +17,14 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.OtherwiseDefinition;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.spi.RouteContext;
public class OtherwiseReifier extends ProcessorReifier<OtherwiseDefinition> {
- public OtherwiseReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, OtherwiseDefinition.class.cast(definition));
+ public OtherwiseReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, OtherwiseDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PipelineReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PipelineReifier.java
index 441d83c..659e691 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PipelineReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PipelineReifier.java
@@ -17,14 +17,14 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.PipelineDefinition;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.spi.RouteContext;
public class PipelineReifier extends ProcessorReifier<PipelineDefinition> {
- public PipelineReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, PipelineDefinition.class.cast(definition));
+ public PipelineReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, PipelineDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PolicyReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PolicyReifier.java
index de5b2ec..8c2bd4b 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PolicyReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PolicyReifier.java
@@ -17,18 +17,18 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.model.PolicyDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.WrapProcessor;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class PolicyReifier extends AbstractPolicyReifier<PolicyDefinition> {
- public PolicyReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (PolicyDefinition) definition);
+ public PolicyReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (PolicyDefinition) definition);
}
@Override
@@ -37,13 +37,13 @@ public class PolicyReifier extends AbstractPolicyReifier<PolicyDefinition> {
ObjectHelper.notNull(policy, "policy", definition);
// before wrap
- policy.beforeWrap(routeContext, definition);
+ policy.beforeWrap(route, definition);
// create processor after the before wrap
Processor childProcessor = this.createChildProcessor(true);
// wrap
- Processor target = policy.wrap(routeContext, childProcessor);
+ Processor target = policy.wrap(route, childProcessor);
if (!(target instanceof Service)) {
// wrap the target so it becomes a service and we can manage its
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PollEnrichReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PollEnrichReifier.java
index b885cfa..ec310c4 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PollEnrichReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/PollEnrichReifier.java
@@ -20,16 +20,16 @@ import org.apache.camel.AggregationStrategy;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.PollEnrichDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.processor.PollEnricher;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
-import org.apache.camel.spi.RouteContext;
public class PollEnrichReifier extends ProcessorReifier<PollEnrichDefinition> {
- public PollEnrichReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (PollEnrichDefinition)definition);
+ public PollEnrichReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (PollEnrichDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessReifier.java
index 9ad3c5c..ad7cf24 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessReifier.java
@@ -18,18 +18,18 @@ package org.apache.camel.reifier;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.model.ProcessDefinition;
import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.processor.DelegateAsyncProcessor;
import org.apache.camel.support.processor.DelegateSyncProcessor;
import org.apache.camel.util.ObjectHelper;
public class ProcessReifier extends ProcessorReifier<ProcessDefinition> {
- public ProcessReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (ProcessDefinition)definition);
+ public ProcessReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (ProcessDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 8012339..f41b21b 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -30,6 +30,7 @@ import org.apache.camel.Channel;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.AggregateDefinition;
import org.apache.camel.model.BeanDefinition;
import org.apache.camel.model.CatchDefinition;
@@ -109,7 +110,6 @@ import org.apache.camel.spi.IdAware;
import org.apache.camel.spi.InterceptStrategy;
import org.apache.camel.spi.LifecycleStrategy;
import org.apache.camel.spi.ReifierStrategy;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.RouteIdAware;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
@@ -117,11 +117,11 @@ import org.slf4j.LoggerFactory;
public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends AbstractReifier {
- private static final Map<Class<?>, BiFunction<RouteContext, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> PROCESSORS;
+ private static final Map<Class<?>, BiFunction<Route, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> PROCESSORS;
static {
// NOTE: if adding a new class then update the initial capacity of the
// HashMap
- Map<Class<?>, BiFunction<RouteContext, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> map = new HashMap<>(65);
+ Map<Class<?>, BiFunction<Route, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> map = new HashMap<>(65);
map.put(AggregateDefinition.class, AggregateReifier::new);
map.put(BeanDefinition.class, BeanReifier::new);
map.put(CatchDefinition.class, CatchReifier::new);
@@ -160,7 +160,6 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
map.put(RemovePropertyDefinition.class, RemovePropertyReifier::new);
map.put(ResequenceDefinition.class, ResequenceReifier::new);
map.put(RollbackDefinition.class, RollbackReifier::new);
- map.put(RouteDefinition.class, RouteReifier::new);
map.put(RoutingSlipDefinition.class, RoutingSlipReifier::new);
map.put(SagaDefinition.class, SagaReifier::new);
map.put(SamplingDefinition.class, SamplingReifier::new);
@@ -194,8 +193,8 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
protected final T definition;
- public ProcessorReifier(RouteContext routeContext, T definition) {
- super(routeContext);
+ public ProcessorReifier(Route route, T definition) {
+ super(route);
this.definition = definition;
}
@@ -204,7 +203,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
this.definition = definition;
}
- public static void registerReifier(Class<?> processorClass, BiFunction<RouteContext, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>> creator) {
+ public static void registerReifier(Class<?> processorClass, BiFunction<Route, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>> creator) {
PROCESSORS.put(processorClass, creator);
}
@@ -212,10 +211,10 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
PROCESSORS.clear();
}
- public static ProcessorReifier<? extends ProcessorDefinition<?>> reifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- BiFunction<RouteContext, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>> reifier = PROCESSORS.get(definition.getClass());
+ public static ProcessorReifier<? extends ProcessorDefinition<?>> reifier(Route route, ProcessorDefinition<?> definition) {
+ BiFunction<Route, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>> reifier = PROCESSORS.get(definition.getClass());
if (reifier != null) {
- return reifier.apply(routeContext, definition);
+ return reifier.apply(route, definition);
}
throw new IllegalStateException("Unsupported definition: " + definition);
}
@@ -494,7 +493,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
Processor children = null;
// at first use custom factory
if (camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory() != null) {
- children = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createChildProcessor(routeContext, definition, mandatory);
+ children = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createChildProcessor(route, definition, mandatory);
}
// fallback to default implementation if factory did not create the
// child
@@ -515,19 +514,17 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
return;
}
- if (!routeContext.isRouteAdded()) {
- // are we routing to an endpoint interceptor, if so we should not
- // add it as an event driven
- // processor as we use the producer to trigger the interceptor
- boolean endpointInterceptor = processor.getNextProcessor() instanceof InterceptEndpointProcessor;
+ // are we routing to an endpoint interceptor, if so we should not
+ // add it as an event driven
+ // processor as we use the producer to trigger the interceptor
+ boolean endpointInterceptor = processor.getNextProcessor() instanceof InterceptEndpointProcessor;
- // only add regular processors as event driven
- if (endpointInterceptor) {
- log.debug("Endpoint interceptor should not be added as an event driven consumer route: {}", processor);
- } else {
- log.trace("Adding event driven processor: {}", processor);
- routeContext.addEventDrivenProcessor(processor);
- }
+ // only add regular processors as event driven
+ if (endpointInterceptor) {
+ log.debug("Endpoint interceptor should not be added as an event driven consumer route: {}", processor);
+ } else {
+ log.trace("Adding event driven processor: {}", processor);
+ route.getEventDrivenProcessors().add(processor);
}
}
@@ -555,9 +552,9 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
// add interceptor strategies to the channel must be in this order:
// camel context, route context, local
List<InterceptStrategy> interceptors = new ArrayList<>();
- addInterceptStrategies(interceptors, camelContext.adapt(ExtendedCamelContext.class).getInterceptStrategies());
- addInterceptStrategies(interceptors, routeContext.getInterceptStrategies());
- addInterceptStrategies(interceptors, definition.getInterceptStrategies());
+ interceptors.addAll(camelContext.adapt(ExtendedCamelContext.class).getInterceptStrategies());
+ interceptors.addAll(route.getInterceptStrategies());
+ interceptors.addAll(definition.getInterceptStrategies());
// force the creation of an id
RouteDefinitionHelper.forceAssignIds(camelContext, definition);
@@ -592,7 +589,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
routeScoped = ((OnCompletionDefinition)definition).isRouteScoped();
}
// initialize the channel
- channel.initChannel(routeContext, definition, child, interceptors, processor, route, first, routeScoped);
+ channel.initChannel(this.route, definition, child, interceptors, processor, route, first, routeScoped);
boolean wrap = false;
// set the error handler, must be done after init as we can set the
@@ -678,15 +675,15 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
* @throws Exception can be thrown if failed to create error handler builder
*/
protected Processor wrapInErrorHandler(Processor output, boolean longLived) throws Exception {
- ErrorHandlerFactory builder = routeContext.getErrorHandlerFactory();
+ ErrorHandlerFactory builder = route.getErrorHandlerFactory();
// create error handler
- Processor errorHandler = ErrorHandlerReifier.reifier(routeContext, builder).createErrorHandler(output);
+ Processor errorHandler = ErrorHandlerReifier.reifier(route, builder).createErrorHandler(output);
if (longLived) {
// invoke lifecycles so we can manage this error handler builder
for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
- strategy.onErrorHandlerAdd(routeContext, errorHandler, builder);
+ strategy.onErrorHandlerAdd(route, errorHandler, builder);
}
}
@@ -694,16 +691,6 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
}
/**
- * Adds the given list of interceptors to the channel.
- *
- * @param interceptors the list to add strategies
- * @param strategies list of strategies to add.
- */
- protected void addInterceptStrategies(List<InterceptStrategy> interceptors, List<InterceptStrategy> strategies) {
- interceptors.addAll(strategies);
- }
-
- /**
* Creates a new instance of some kind of composite processor which defaults
* to using a {@link Pipeline} but derived classes could change the
* behaviour
@@ -713,15 +700,11 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
}
protected Processor createOutputsProcessor(Collection<ProcessorDefinition<?>> outputs) throws Exception {
- return createOutputsProcessorImpl(outputs);
- }
-
- protected Processor createOutputsProcessorImpl(Collection<ProcessorDefinition<?>> outputs) throws Exception {
List<Processor> list = new ArrayList<>();
for (ProcessorDefinition<?> output : outputs) {
// allow any custom logic before we create the processor
- reifier(routeContext, output).preCreateProcessor();
+ reifier(route, output).preCreateProcessor();
Processor processor = createProcessor(output);
@@ -731,7 +714,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
((IdAware)processor).setId(id);
}
if (processor instanceof RouteIdAware) {
- ((RouteIdAware)processor).setRouteId(routeContext.getRouteId());
+ ((RouteIdAware)processor).setRouteId(route.getRouteId());
}
if (output instanceof Channel && processor == null) {
@@ -760,12 +743,12 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
Processor processor = null;
// at first use custom factory
if (camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory() != null) {
- processor = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(routeContext, output);
+ processor = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(route, output);
}
// fallback to default implementation if factory did not create the
// processor
if (processor == null) {
- processor = reifier(routeContext, output).createProcessor();
+ processor = reifier(route, output).createProcessor();
}
return processor;
}
@@ -782,7 +765,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
// at first use custom factory
if (camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory() != null) {
- processor = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(routeContext, definition);
+ processor = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(route, definition);
}
// fallback to default implementation if factory did not create the
// processor
@@ -796,7 +779,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
((IdAware)processor).setId(id);
}
if (processor instanceof RouteIdAware) {
- ((RouteIdAware)processor).setRouteId(routeContext.getRouteId());
+ ((RouteIdAware)processor).setRouteId(route.getRouteId());
}
if (processor == null) {
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RecipientListReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RecipientListReifier.java
index 9ad47d8..cdb6cb5 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RecipientListReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RecipientListReifier.java
@@ -24,6 +24,7 @@ import org.apache.camel.AggregationStrategy;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RecipientListDefinition;
import org.apache.camel.processor.EvaluateExpressionProcessor;
@@ -31,12 +32,11 @@ import org.apache.camel.processor.RecipientList;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
import org.apache.camel.processor.aggregate.ShareUnitOfWorkAggregationStrategy;
import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
-import org.apache.camel.spi.RouteContext;
public class RecipientListReifier extends ProcessorReifier<RecipientListDefinition<?>> {
- public RecipientListReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RecipientListDefinition<?>)definition);
+ public RecipientListReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (RecipientListDefinition<?>)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeaderReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeaderReifier.java
index 4104841..0f8678d 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeaderReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeaderReifier.java
@@ -17,16 +17,16 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RemoveHeaderDefinition;
import org.apache.camel.processor.RemoveHeaderProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class RemoveHeaderReifier extends ProcessorReifier<RemoveHeaderDefinition> {
- public RemoveHeaderReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RemoveHeaderDefinition) definition);
+ public RemoveHeaderReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (RemoveHeaderDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
index f0e57a9..fef4d11 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemoveHeadersReifier.java
@@ -19,16 +19,16 @@ package org.apache.camel.reifier;
import java.util.stream.Stream;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RemoveHeadersDefinition;
import org.apache.camel.processor.RemoveHeadersProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class RemoveHeadersReifier extends ProcessorReifier<RemoveHeadersDefinition> {
- public RemoveHeadersReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RemoveHeadersDefinition) definition);
+ public RemoveHeadersReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (RemoveHeadersDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertiesReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertiesReifier.java
index b53c010..4b57788 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertiesReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertiesReifier.java
@@ -19,16 +19,16 @@ package org.apache.camel.reifier;
import java.util.stream.Stream;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RemovePropertiesDefinition;
import org.apache.camel.processor.RemovePropertiesProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class RemovePropertiesReifier extends ProcessorReifier<RemovePropertiesDefinition> {
- public RemovePropertiesReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RemovePropertiesDefinition) definition);
+ public RemovePropertiesReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (RemovePropertiesDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertyReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertyReifier.java
index f7b4eea..4e51bd4 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertyReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RemovePropertyReifier.java
@@ -17,16 +17,16 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RemovePropertyDefinition;
import org.apache.camel.processor.RemovePropertyProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class RemovePropertyReifier extends ProcessorReifier<RemovePropertyDefinition> {
- public RemovePropertyReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RemovePropertyDefinition)definition);
+ public RemovePropertyReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (RemovePropertyDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ResequenceReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ResequenceReifier.java
index 74d92d9..19a401b 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ResequenceReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ResequenceReifier.java
@@ -18,6 +18,7 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ResequenceDefinition;
import org.apache.camel.model.config.BatchResequencerConfig;
@@ -28,13 +29,12 @@ import org.apache.camel.processor.Resequencer;
import org.apache.camel.processor.StreamResequencer;
import org.apache.camel.processor.resequencer.DefaultExchangeComparator;
import org.apache.camel.processor.resequencer.ExpressionResultComparator;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class ResequenceReifier extends ProcessorReifier<ResequenceDefinition> {
- public ResequenceReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (ResequenceDefinition)definition);
+ public ResequenceReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (ResequenceDefinition)definition);
}
@Override
@@ -75,7 +75,7 @@ public class ResequenceReifier extends ProcessorReifier<ResequenceDefinition> {
// and wrap in unit of work
CamelInternalProcessor internal = new CamelInternalProcessor(camelContext, processor);
- internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(routeContext, camelContext));
+ internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(route, camelContext));
ObjectHelper.notNull(config, "config", this);
ObjectHelper.notNull(expression, "expression", this);
@@ -107,7 +107,7 @@ public class ResequenceReifier extends ProcessorReifier<ResequenceDefinition> {
Expression expression = createExpression(definition.getExpression());
CamelInternalProcessor internal = new CamelInternalProcessor(camelContext, processor);
- internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(routeContext, camelContext));
+ internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(route, camelContext));
ObjectHelper.notNull(config, "config", this);
ObjectHelper.notNull(expression, "expression", this);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RollbackReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RollbackReifier.java
index 7af8128f..2157ed9 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RollbackReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RollbackReifier.java
@@ -17,15 +17,15 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RollbackDefinition;
import org.apache.camel.processor.RollbackProcessor;
-import org.apache.camel.spi.RouteContext;
public class RollbackReifier extends ProcessorReifier<RollbackDefinition> {
- public RollbackReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RollbackDefinition)definition);
+ public RollbackReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (RollbackDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java
index c403cc1..9223e51 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java
@@ -17,7 +17,9 @@
package org.apache.camel.reifier;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.StringTokenizer;
import org.apache.camel.CamelContext;
@@ -33,31 +35,26 @@ import org.apache.camel.builder.AdviceWithRouteBuilder;
import org.apache.camel.builder.AdviceWithTask;
import org.apache.camel.builder.EndpointConsumerBuilder;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.model.Model;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.PropertyDefinition;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.processor.CamelInternalProcessor;
import org.apache.camel.processor.ContractAdvice;
+import org.apache.camel.processor.Pipeline;
+import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
import org.apache.camel.reifier.rest.RestBindingReifier;
import org.apache.camel.spi.Contract;
import org.apache.camel.spi.LifecycleStrategy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.spi.ManagementInterceptStrategy;
import org.apache.camel.spi.RoutePolicy;
import org.apache.camel.spi.RoutePolicyFactory;
-import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
public class RouteReifier extends ProcessorReifier<RouteDefinition> {
- public RouteReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RouteDefinition) definition);
- }
-
- public RouteReifier(CamelContext camelContext, ProcessorDefinition<?> definition) {
- super(camelContext, (RouteDefinition) definition);
- }
-
/**
* Advices this route with the route builder.
* <p/>
@@ -90,7 +87,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
* @throws Exception can be thrown from the route builder
* @see AdviceWithRouteBuilder
*/
- public static RouteDefinition adviceWith(RouteDefinition definition, CamelContext camelContext, RouteBuilder builder) throws Exception {
+ public static RouteDefinition adviceWith(RouteDefinition definition, CamelContext camelContext, AdviceWithRouteBuilder builder) throws Exception {
ObjectHelper.notNull(definition, "RouteDefinition");
ObjectHelper.notNull(camelContext, "CamelContext");
ObjectHelper.notNull(builder, "RouteBuilder");
@@ -101,6 +98,15 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
return new RouteReifier(camelContext, definition).adviceWith(builder);
}
+ private static final String[] reservedProperties = new String[] {
+ Route.ID_PROPERTY, Route.CUSTOM_ID_PROPERTY, Route.PARENT_PROPERTY,
+ Route.DESCRIPTION_PROPERTY, Route.GROUP_PROPERTY,
+ Route.REST_PROPERTY};
+
+ public RouteReifier(CamelContext camelContext, ProcessorDefinition<?> definition) {
+ super(camelContext, (RouteDefinition) definition);
+ }
+
@Override
public Processor createProcessor() throws Exception {
throw new UnsupportedOperationException("Not implemented for RouteDefinition");
@@ -150,19 +156,17 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
* @see AdviceWithRouteBuilder
*/
@SuppressWarnings("deprecation")
- public RouteDefinition adviceWith(RouteBuilder builder) throws Exception {
+ public RouteDefinition adviceWith(AdviceWithRouteBuilder builder) throws Exception {
ObjectHelper.notNull(builder, "RouteBuilder");
+ Model model = camelContext.getExtension(Model.class);
+ ExtendedCamelContext ecc = camelContext.adapt(ExtendedCamelContext.class);
log.debug("AdviceWith route before: {}", this);
// inject this route into the advice route builder so it can access this route
// and offer features to manipulate the route directly
- boolean logRoutesAsXml = true;
- if (builder instanceof AdviceWithRouteBuilder) {
- AdviceWithRouteBuilder arb = (AdviceWithRouteBuilder)builder;
- arb.setOriginalRoute(definition);
- logRoutesAsXml = arb.isLogRouteAsXml();
- }
+ boolean logRoutesAsXml = builder.isLogRouteAsXml();
+ builder.setOriginalRoute(definition);
// configure and prepare the routes from the builder
RoutesDefinition routes = builder.configureRoutes(camelContext);
@@ -180,14 +184,13 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
// context scoped error handler, in case no error handlers was
// configured
if (builder.getRouteCollection().getErrorHandlerFactory() != null
- && camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerFactory() != builder.getRouteCollection().getErrorHandlerFactory()) {
+ && ecc.getErrorHandlerFactory() != builder.getRouteCollection().getErrorHandlerFactory()) {
throw new IllegalArgumentException("You can not advice with error handlers. Remove the error handlers from the route builder.");
}
String beforeAsXml = null;
if (logRoutesAsXml && log.isInfoEnabled()) {
try {
- ExtendedCamelContext ecc = camelContext.adapt(ExtendedCamelContext.class);
beforeAsXml = ecc.getModelToXMLDumper().dumpModelAsXml(camelContext, definition);
} catch (Throwable e) {
// ignore, it may be due jaxb is not on classpath etc
@@ -195,14 +198,12 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
}
// stop and remove this existing route
- camelContext.getExtension(Model.class).removeRouteDefinition(definition);
+ model.removeRouteDefinition(definition);
// any advice with tasks we should execute first?
- if (builder instanceof AdviceWithRouteBuilder) {
- List<AdviceWithTask> tasks = ((AdviceWithRouteBuilder)builder).getAdviceWithTasks();
- for (AdviceWithTask task : tasks) {
- task.task();
- }
+ List<AdviceWithTask> tasks = builder.getAdviceWithTasks();
+ for (AdviceWithTask task : tasks) {
+ task.task();
}
// now merge which also ensures that interceptors and the likes get
@@ -210,7 +211,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
RouteDefinition merged = routes.route(definition);
// add the new merged route
- camelContext.getExtension(Model.class).getRouteDefinitions().add(0, merged);
+ model.getRouteDefinitions().add(0, merged);
// log the merged route at info level to make it easier to end users to
// spot any mistakes they may have made
@@ -220,7 +221,6 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
if (beforeAsXml != null && logRoutesAsXml && log.isInfoEnabled()) {
try {
- ExtendedCamelContext ecc = camelContext.adapt(ExtendedCamelContext.class);
String afterAsXml = ecc.getModelToXMLDumper().dumpModelAsXml(camelContext, merged);
log.info("Adviced route before/after as XML:\n{}\n{}", beforeAsXml, afterAsXml);
} catch (Throwable e) {
@@ -230,7 +230,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
// If the camel context is started then we start the route
if (camelContext.isStarted()) {
- camelContext.getExtension(Model.class).addRouteDefinition(merged);
+ model.addRouteDefinition(merged);
}
return merged;
}
@@ -238,14 +238,35 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
// Implementation methods
// -------------------------------------------------------------------------
protected Route doCreateRoute() throws Exception {
+ // resolve endpoint
+ Endpoint endpoint = definition.getInput().getEndpoint();
+ if (endpoint == null) {
+ EndpointConsumerBuilder def = definition.getInput().getEndpointConsumerBuilder();
+ if (def != null) {
+ endpoint = def.resolve(camelContext);
+ } else {
+ endpoint = resolveEndpoint(definition.getInput().getEndpointUri());
+ }
+ }
+
+ // create route
+ String id = definition.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
+ DefaultRoute route = new DefaultRoute(camelContext, definition, id, endpoint) {
+ @Override
+ public Processor createErrorHandler(Processor processor) throws Exception {
+ return ErrorHandlerReifier.reifier(this, getErrorHandlerFactory())
+ .createErrorHandler(processor);
+ }
+ };
+
// configure error handler
- routeContext.setErrorHandlerFactory(definition.getErrorHandlerFactory());
+ route.setErrorHandlerFactory(definition.getErrorHandlerFactory());
// configure tracing
if (definition.getTrace() != null) {
Boolean isTrace = parseBoolean(definition.getTrace());
if (isTrace != null) {
- routeContext.setTracing(isTrace);
+ route.setTracing(isTrace);
if (isTrace) {
log.debug("Tracing is enabled on route: {}", definition.getId());
// tracing is added in the DefaultChannel so we can enable
@@ -258,7 +279,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
if (definition.getMessageHistory() != null) {
Boolean isMessageHistory = parseBoolean(definition.getMessageHistory());
if (isMessageHistory != null) {
- routeContext.setMessageHistory(isMessageHistory);
+ route.setMessageHistory(isMessageHistory);
if (isMessageHistory) {
log.debug("Message history is enabled on route: {}", definition.getId());
}
@@ -269,7 +290,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
if (definition.getLogMask() != null) {
Boolean isLogMask = parseBoolean(definition.getLogMask());
if (isLogMask != null) {
- routeContext.setLogMask(isLogMask);
+ route.setLogMask(isLogMask);
if (isLogMask) {
log.debug("Security mask for Logging is enabled on route: {}", definition.getId());
}
@@ -280,7 +301,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
if (definition.getStreamCache() != null) {
Boolean isStreamCache = parseBoolean(definition.getStreamCache());
if (isStreamCache != null) {
- routeContext.setStreamCaching(isStreamCache);
+ route.setStreamCaching(isStreamCache);
if (isStreamCache) {
log.debug("StreamCaching is enabled on route: {}", definition.getId());
}
@@ -291,7 +312,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
if (definition.getDelayer() != null) {
Long delayer = parseLong(definition.getDelayer());
if (delayer != null) {
- routeContext.setDelayer(delayer);
+ route.setDelayer(delayer);
if (delayer > 0) {
log.debug("Delayer is enabled with: {} ms. on route: {}", delayer, definition.getId());
} else {
@@ -304,7 +325,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
if (definition.getRoutePolicies() != null && !definition.getRoutePolicies().isEmpty()) {
for (RoutePolicy policy : definition.getRoutePolicies()) {
log.debug("RoutePolicy is enabled: {} on route: {}", policy, definition.getId());
- routeContext.getRoutePolicyList().add(policy);
+ route.getRoutePolicyList().add(policy);
}
}
if (definition.getRoutePolicyRef() != null) {
@@ -313,7 +334,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
String ref = policyTokens.nextToken().trim();
RoutePolicy policy = mandatoryLookup(ref, RoutePolicy.class);
log.debug("RoutePolicy is enabled: {} on route: {}", policy, definition.getId());
- routeContext.getRoutePolicyList().add(policy);
+ route.getRoutePolicyList().add(policy);
}
}
if (camelContext.getRoutePolicyFactories() != null) {
@@ -321,51 +342,33 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
RoutePolicy policy = factory.createRoutePolicy(camelContext, definition.getId(), definition);
if (policy != null) {
log.debug("RoutePolicy is enabled: {} on route: {}", policy, definition.getId());
- routeContext.getRoutePolicyList().add(policy);
+ route.getRoutePolicyList().add(policy);
}
}
}
// configure auto startup
Boolean isAutoStartup = parseBoolean(definition.getAutoStartup());
- if (isAutoStartup != null) {
- log.debug("Using AutoStartup {} on route: {}", isAutoStartup, definition.getId());
- routeContext.setAutoStartup(isAutoStartup);
- }
// configure startup order
- if (definition.getStartupOrder() != null) {
- routeContext.setStartupOrder(definition.getStartupOrder());
- }
+ Integer startupOrder = definition.getStartupOrder();
// configure shutdown
if (definition.getShutdownRoute() != null) {
log.debug("Using ShutdownRoute {} on route: {}", definition.getShutdownRoute(), definition.getId());
- routeContext.setShutdownRoute(parse(ShutdownRoute.class, definition.getShutdownRoute()));
+ route.setShutdownRoute(parse(ShutdownRoute.class, definition.getShutdownRoute()));
}
if (definition.getShutdownRunningTask() != null) {
log.debug("Using ShutdownRunningTask {} on route: {}", definition.getShutdownRunningTask(), definition.getId());
- routeContext.setShutdownRunningTask(parse(ShutdownRunningTask.class, definition.getShutdownRunningTask()));
+ route.setShutdownRunningTask(parse(ShutdownRunningTask.class, definition.getShutdownRunningTask()));
}
// should inherit the intercept strategies we have defined
- routeContext.setInterceptStrategies(definition.getInterceptStrategies());
-
- // resolve endpoint
- Endpoint endpoint = definition.getInput().getEndpoint();
- if (endpoint == null) {
- EndpointConsumerBuilder def = definition.getInput().getEndpointConsumerBuilder();
- if (def != null) {
- endpoint = def.resolve(camelContext);
- } else {
- endpoint = resolveEndpoint(definition.getInput().getEndpointUri());
- }
- }
- routeContext.setEndpoint(endpoint);
+ route.getInterceptStrategies().addAll(definition.getInterceptStrategies());
// notify route context created
for (LifecycleStrategy strategy : camelContext.getLifecycleStrategies()) {
- strategy.onRouteContextCreate(routeContext);
+ strategy.onRouteContextCreate(route);
}
// validate route has output processors
@@ -379,15 +382,63 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
List<ProcessorDefinition<?>> list = new ArrayList<>(definition.getOutputs());
for (ProcessorDefinition<?> output : list) {
try {
- ProcessorReifier.reifier(routeContext, output).addRoutes();
+ ProcessorReifier.reifier(route, output).addRoutes();
} catch (Exception e) {
throw new FailedToCreateRouteException(definition.getId(), definition.toString(), output.toString(), e);
}
}
+ // now lets turn all of the event driven consumer processors into a single route
+ List<Processor> eventDrivenProcessors = route.getEventDrivenProcessors();
+ if (eventDrivenProcessors.isEmpty()) {
+ return null;
+ }
+
+ // Set route properties
+ Map<String, Object> routeProperties = computeRouteProperties();
+
+ // always use an pipeline even if there are only 1 processor as the pipeline
+ // handles preparing the response from the exchange in regard to IN vs OUT messages etc
+ Processor target = new Pipeline(camelContext, eventDrivenProcessors);
+
+ // and wrap it in a unit of work so the UoW is on the top, so the entire route will be in the same UoW
+ CamelInternalProcessor internal = new CamelInternalProcessor(camelContext, target);
+ internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(route, camelContext));
+
+ // and then optionally add route policy processor if a custom policy is set
+ List<RoutePolicy> routePolicyList = route.getRoutePolicyList();
+ if (routePolicyList != null && !routePolicyList.isEmpty()) {
+ for (RoutePolicy policy : routePolicyList) {
+ // add policy as service if we have not already done that (eg possible if two routes have the same service)
+ // this ensures Camel can control the lifecycle of the policy
+ if (!camelContext.hasService(policy)) {
+ try {
+ camelContext.addService(policy);
+ } catch (Exception e) {
+ throw RuntimeCamelException.wrapRuntimeCamelException(e);
+ }
+ }
+ }
+
+ internal.addAdvice(new CamelInternalProcessor.RoutePolicyAdvice(routePolicyList));
+ }
+
+ // wrap in route inflight processor to track number of inflight exchanges for the route
+ internal.addAdvice(new CamelInternalProcessor.RouteInflightRepositoryAdvice(camelContext.getInflightRepository(), route.getRouteId()));
+
+ // wrap in JMX instrumentation processor that is used for performance stats
+ ManagementInterceptStrategy managementInterceptStrategy = route.getManagementInterceptStrategy();
+ if (managementInterceptStrategy != null) {
+ internal.addAdvice(CamelInternalProcessor.wrap(managementInterceptStrategy.createProcessor("route")));
+ }
+
+ // wrap in route lifecycle
+ internal.addAdvice(new CamelInternalProcessor.RouteLifecycleAdvice());
+
+ // add advices
if (definition.getRestBindingDefinition() != null) {
try {
- routeContext.addAdvice(new RestBindingReifier(routeContext, definition.getRestBindingDefinition()).createRestBindingAdvice());
+ internal.addAdvice(new RestBindingReifier(route, definition.getRestBindingDefinition()).createRestBindingAdvice());
} catch (Exception e) {
throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
@@ -404,47 +455,74 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
contract.setOutputType(parseString(definition.getOutputType().getUrn()));
contract.setValidateOutput(parseBoolean(definition.getOutputType().getValidate(), false));
}
- routeContext.addAdvice(new ContractAdvice(contract));
+ internal.addAdvice(new ContractAdvice(contract));
// make sure to enable data type as its in use when using
// input/output types on routes
camelContext.setUseDataType(true);
}
- // Set route properties
- routeContext.addProperty(Route.ID_PROPERTY, definition.getId());
- routeContext.addProperty(Route.CUSTOM_ID_PROPERTY, Boolean.toString(definition.hasCustomIdAssigned()));
- routeContext.addProperty(Route.PARENT_PROPERTY, Integer.toHexString(definition.hashCode()));
- routeContext.addProperty(Route.DESCRIPTION_PROPERTY, definition.getDescriptionText());
+ // and create the route that wraps all of this
+ route.setProcessor(internal);
+ route.getProperties().putAll(routeProperties);
+ route.setStartupOrder(startupOrder);
+ if (isAutoStartup != null) {
+ log.debug("Using AutoStartup {} on route: {}", isAutoStartup, definition.getId());
+ route.setAutoStartup(isAutoStartup);
+ }
+
+ // after the route is created then set the route on the policy processor so we get hold of it
+ CamelInternalProcessor.RoutePolicyAdvice task = internal.getAdvice(CamelInternalProcessor.RoutePolicyAdvice.class);
+ if (task != null) {
+ task.setRoute(route);
+ }
+ CamelInternalProcessor.RouteLifecycleAdvice task2 = internal.getAdvice(CamelInternalProcessor.RouteLifecycleAdvice.class);
+ if (task2 != null) {
+ task2.setRoute(route);
+ }
+
+ // invoke init on route policy
+ if (routePolicyList != null && !routePolicyList.isEmpty()) {
+ for (RoutePolicy policy : routePolicyList) {
+ policy.onInit(route);
+ }
+ }
+
+ route.initialized();
+
+ return route;
+ }
+
+ protected Map<String, Object> computeRouteProperties() {
+ Map<String, Object> routeProperties = new HashMap<>();
+ routeProperties.put(Route.ID_PROPERTY, definition.getId());
+ routeProperties.put(Route.CUSTOM_ID_PROPERTY, Boolean.toString(definition.hasCustomIdAssigned()));
+ routeProperties.put(Route.PARENT_PROPERTY, Integer.toHexString(definition.hashCode()));
+ routeProperties.put(Route.DESCRIPTION_PROPERTY, definition.getDescriptionText());
if (definition.getGroup() != null) {
- routeContext.addProperty(Route.GROUP_PROPERTY, definition.getGroup());
+ routeProperties.put(Route.GROUP_PROPERTY, definition.getGroup());
}
String rest = Boolean.toString(definition.isRest() != null && definition.isRest());
- routeContext.addProperty(Route.REST_PROPERTY, rest);
+ routeProperties.put(Route.REST_PROPERTY, rest);
List<PropertyDefinition> properties = definition.getRouteProperties();
if (properties != null) {
- final String[] reservedProperties = new String[] {Route.ID_PROPERTY, Route.CUSTOM_ID_PROPERTY, Route.PARENT_PROPERTY, Route.DESCRIPTION_PROPERTY, Route.GROUP_PROPERTY,
- Route.REST_PROPERTY};
for (PropertyDefinition prop : properties) {
try {
- final String key = CamelContextHelper.parseText(camelContext, prop.getKey());
- final String val = CamelContextHelper.parseText(camelContext, prop.getValue());
-
+ final String key = parseString(prop.getKey());
+ final String val = parseString(prop.getValue());
for (String property : reservedProperties) {
if (property.equalsIgnoreCase(key)) {
throw new IllegalArgumentException("Cannot set route property " + property + " as it is a reserved property");
}
}
-
- routeContext.addProperty(key, val);
+ routeProperties.put(key, val);
} catch (Exception e) {
throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
}
}
-
- return routeContext.commit();
+ return routeProperties;
}
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RoutingSlipReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RoutingSlipReifier.java
index 611392d..c7b7027 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RoutingSlipReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RoutingSlipReifier.java
@@ -19,17 +19,17 @@ package org.apache.camel.reifier;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RoutingSlipDefinition;
import org.apache.camel.processor.RoutingSlip;
-import org.apache.camel.spi.RouteContext;
import static org.apache.camel.model.RoutingSlipDefinition.DEFAULT_DELIMITER;
public class RoutingSlipReifier extends ExpressionReifier<RoutingSlipDefinition<?>> {
- public RoutingSlipReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (RoutingSlipDefinition) definition);
+ public RoutingSlipReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (RoutingSlipDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SagaReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SagaReifier.java
index 17f300d..fa89360 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SagaReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SagaReifier.java
@@ -23,6 +23,7 @@ import java.util.TreeMap;
import org.apache.camel.Endpoint;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SagaActionUriDefinition;
@@ -33,13 +34,11 @@ import org.apache.camel.processor.saga.SagaProcessorBuilder;
import org.apache.camel.processor.saga.SagaPropagation;
import org.apache.camel.saga.CamelSagaService;
import org.apache.camel.saga.CamelSagaStep;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.support.CamelContextHelper;
public class SagaReifier extends ProcessorReifier<SagaDefinition> {
- public SagaReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SagaDefinition)definition);
+ public SagaReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SagaDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SamplingReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SamplingReifier.java
index 7951b25..75c93ae 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SamplingReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SamplingReifier.java
@@ -19,15 +19,15 @@ package org.apache.camel.reifier;
import java.util.concurrent.TimeUnit;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SamplingDefinition;
import org.apache.camel.processor.SamplingThrottler;
-import org.apache.camel.spi.RouteContext;
public class SamplingReifier extends ProcessorReifier<SamplingDefinition> {
- public SamplingReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SamplingDefinition)definition);
+ public SamplingReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SamplingDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ScriptReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ScriptReifier.java
index e7f6568..e5475b3 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ScriptReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ScriptReifier.java
@@ -18,15 +18,15 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ScriptDefinition;
import org.apache.camel.processor.ScriptProcessor;
-import org.apache.camel.spi.RouteContext;
public class ScriptReifier extends ExpressionReifier<ScriptDefinition> {
- public ScriptReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (ScriptDefinition)definition);
+ public ScriptReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (ScriptDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SendReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SendReifier.java
index 09a9ea5..2e1a945 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SendReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SendReifier.java
@@ -19,16 +19,16 @@ package org.apache.camel.reifier;
import org.apache.camel.Endpoint;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SendDefinition;
import org.apache.camel.processor.SendProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.CamelContextHelper;
public class SendReifier extends ProcessorReifier<SendDefinition<?>> {
- public SendReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SendDefinition) definition);
+ public SendReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SendDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ServiceCallReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ServiceCallReifier.java
index 84368e6..1f256e5 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ServiceCallReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ServiceCallReifier.java
@@ -17,14 +17,14 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.cloud.ServiceCallDefinition;
-import org.apache.camel.spi.RouteContext;
public class ServiceCallReifier extends ProcessorReifier<ServiceCallDefinition> {
- public ServiceCallReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, ServiceCallDefinition.class.cast(definition));
+ public ServiceCallReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, ServiceCallDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetBodyReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetBodyReifier.java
index 840bc37..3ace259 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetBodyReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetBodyReifier.java
@@ -18,15 +18,15 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetBodyDefinition;
import org.apache.camel.processor.SetBodyProcessor;
-import org.apache.camel.spi.RouteContext;
public class SetBodyReifier extends ExpressionReifier<SetBodyDefinition> {
- public SetBodyReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SetBodyDefinition)definition);
+ public SetBodyReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SetBodyDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetExchangePatternReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetExchangePatternReifier.java
index af54620..6bbb379 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetExchangePatternReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetExchangePatternReifier.java
@@ -18,15 +18,15 @@ package org.apache.camel.reifier;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetExchangePatternDefinition;
import org.apache.camel.processor.ExchangePatternProcessor;
-import org.apache.camel.spi.RouteContext;
public class SetExchangePatternReifier extends ProcessorReifier<SetExchangePatternDefinition> {
- public SetExchangePatternReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SetExchangePatternDefinition)definition);
+ public SetExchangePatternReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SetExchangePatternDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java
index 4da7bcb..2628b5a 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetHeaderReifier.java
@@ -18,17 +18,17 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.ExpressionBuilder;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetHeaderDefinition;
import org.apache.camel.processor.SetHeaderProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class SetHeaderReifier extends ExpressionReifier<SetHeaderDefinition> {
- public SetHeaderReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SetHeaderDefinition)definition);
+ public SetHeaderReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SetHeaderDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java
index a077bde..9dd6a01 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SetPropertyReifier.java
@@ -18,17 +18,17 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.ExpressionBuilder;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetPropertyDefinition;
import org.apache.camel.processor.SetPropertyProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class SetPropertyReifier extends ExpressionReifier<SetPropertyDefinition> {
- public SetPropertyReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SetPropertyDefinition)definition);
+ public SetPropertyReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SetPropertyDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SortReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SortReifier.java
index dc3bc07..2a50a02 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SortReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SortReifier.java
@@ -20,10 +20,10 @@ import java.util.Comparator;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SortDefinition;
import org.apache.camel.processor.SortProcessor;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.ObjectHelper;
import static org.apache.camel.builder.ExpressionBuilder.bodyExpression;
@@ -31,8 +31,8 @@ import static org.apache.camel.util.ObjectHelper.isNotEmpty;
public class SortReifier<T, U extends SortDefinition<T>> extends ExpressionReifier<U> {
- public SortReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (U) definition);
+ public SortReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (U) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SplitReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SplitReifier.java
index 4c4e592..a34a2e8 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SplitReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/SplitReifier.java
@@ -22,17 +22,17 @@ import org.apache.camel.AggregationStrategy;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SplitDefinition;
import org.apache.camel.processor.Splitter;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
import org.apache.camel.processor.aggregate.ShareUnitOfWorkAggregationStrategy;
-import org.apache.camel.spi.RouteContext;
public class SplitReifier extends ExpressionReifier<SplitDefinition> {
- public SplitReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (SplitDefinition)definition);
+ public SplitReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (SplitDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StepReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StepReifier.java
index 40b2ebd..4b7dbd3 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StepReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StepReifier.java
@@ -19,15 +19,15 @@ package org.apache.camel.reifier;
import java.util.List;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.StepDefinition;
import org.apache.camel.processor.StepProcessor;
-import org.apache.camel.spi.RouteContext;
public class StepReifier extends ProcessorReifier<StepDefinition> {
- public StepReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, StepDefinition.class.cast(definition));
+ public StepReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, StepDefinition.class.cast(definition));
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StopReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StopReifier.java
index 7e405dc..2e00eaf 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StopReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/StopReifier.java
@@ -17,15 +17,15 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.StopDefinition;
import org.apache.camel.processor.StopProcessor;
-import org.apache.camel.spi.RouteContext;
public class StopReifier extends ProcessorReifier<StopDefinition> {
- public StopReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (StopDefinition) definition);
+ public StopReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (StopDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThreadsReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThreadsReifier.java
index cd7282b..197f215 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThreadsReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThreadsReifier.java
@@ -20,19 +20,19 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.ThreadPoolProfileBuilder;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ThreadsDefinition;
import org.apache.camel.processor.ThreadsProcessor;
import org.apache.camel.spi.ExecutorServiceManager;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.ThreadPoolProfile;
import org.apache.camel.util.concurrent.ThreadPoolRejectedPolicy;
public class ThreadsReifier extends ProcessorReifier<ThreadsDefinition> {
- public ThreadsReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (ThreadsDefinition) definition);
+ public ThreadsReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (ThreadsDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrottleReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrottleReifier.java
index 34c2ed0..9c9904f 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrottleReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrottleReifier.java
@@ -20,15 +20,15 @@ import java.util.concurrent.ScheduledExecutorService;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ThrottleDefinition;
import org.apache.camel.processor.Throttler;
-import org.apache.camel.spi.RouteContext;
public class ThrottleReifier extends ExpressionReifier<ThrottleDefinition> {
- public ThrottleReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (ThrottleDefinition) definition);
+ public ThrottleReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (ThrottleDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java
index efd6c35..f7959da 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java
@@ -17,15 +17,15 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ThrowExceptionDefinition;
import org.apache.camel.processor.ThrowExceptionProcessor;
-import org.apache.camel.spi.RouteContext;
public class ThrowExceptionReifier extends ProcessorReifier<ThrowExceptionDefinition> {
- public ThrowExceptionReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (ThrowExceptionDefinition) definition);
+ public ThrowExceptionReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (ThrowExceptionDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
index a323fc3..3e016e3 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ToDynamicReifier.java
@@ -23,20 +23,20 @@ import org.apache.camel.ExchangePattern;
import org.apache.camel.Expression;
import org.apache.camel.NoSuchLanguageException;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.ExpressionBuilder;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ToDynamicDefinition;
import org.apache.camel.processor.SendDynamicProcessor;
import org.apache.camel.spi.Language;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.Pair;
import org.apache.camel.util.StringHelper;
import org.apache.camel.util.URISupport;
public class ToDynamicReifier<T extends ToDynamicDefinition> extends ProcessorReifier<T> {
- public ToDynamicReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (T) definition);
+ public ToDynamicReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (T) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransactedReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransactedReifier.java
index 3750a8e..d8d7c68 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransactedReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransactedReifier.java
@@ -18,17 +18,17 @@ package org.apache.camel.reifier;
import org.apache.camel.CamelContext;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.TransactedDefinition;
import org.apache.camel.processor.WrapProcessor;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
public class TransactedReifier extends AbstractPolicyReifier<TransactedDefinition> {
- public TransactedReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (TransactedDefinition) definition);
+ public TransactedReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (TransactedDefinition) definition);
}
public TransactedReifier(CamelContext camelContext, ProcessorDefinition<?> definition) {
@@ -41,13 +41,13 @@ public class TransactedReifier extends AbstractPolicyReifier<TransactedDefinitio
org.apache.camel.util.ObjectHelper.notNull(policy, "policy", this);
// before wrap
- policy.beforeWrap(routeContext, definition);
+ policy.beforeWrap(route, definition);
// create processor after the before wrap
Processor childProcessor = this.createChildProcessor(true);
// wrap
- Processor target = policy.wrap(routeContext, childProcessor);
+ Processor target = policy.wrap(route, childProcessor);
if (!(target instanceof Service)) {
// wrap the target so it becomes a service and we can manage its
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransformReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransformReifier.java
index 0532fc0..4f7c4e1 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransformReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TransformReifier.java
@@ -18,15 +18,15 @@ package org.apache.camel.reifier;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.TransformDefinition;
import org.apache.camel.processor.TransformProcessor;
-import org.apache.camel.spi.RouteContext;
public class TransformReifier extends ExpressionReifier<TransformDefinition> {
- public TransformReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (TransformDefinition) definition);
+ public TransformReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (TransformDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TryReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TryReifier.java
index b201dd0..f4aa169 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TryReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/TryReifier.java
@@ -20,17 +20,17 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.CatchDefinition;
import org.apache.camel.model.FinallyDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.TryDefinition;
import org.apache.camel.processor.TryProcessor;
-import org.apache.camel.spi.RouteContext;
public class TryReifier extends ProcessorReifier<TryDefinition> {
- public TryReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (TryDefinition) definition);
+ public TryReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (TryDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/UnmarshalReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/UnmarshalReifier.java
index 7b1d1d5..cb678ca 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/UnmarshalReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/UnmarshalReifier.java
@@ -17,17 +17,17 @@
package org.apache.camel.reifier;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.UnmarshalDefinition;
import org.apache.camel.reifier.dataformat.DataFormatReifier;
import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.processor.UnmarshalProcessor;
public class UnmarshalReifier extends ProcessorReifier<UnmarshalDefinition> {
- public UnmarshalReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (UnmarshalDefinition) definition);
+ public UnmarshalReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (UnmarshalDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ValidateReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ValidateReifier.java
index 30fbeb3..ccf71ff 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ValidateReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/ValidateReifier.java
@@ -18,15 +18,15 @@ package org.apache.camel.reifier;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.ValidateDefinition;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.processor.PredicateValidatingProcessor;
public class ValidateReifier extends ExpressionReifier<ValidateDefinition> {
- public ValidateReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (ValidateDefinition) definition);
+ public ValidateReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (ValidateDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenReifier.java
index 53009eb..1a1491f 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenReifier.java
@@ -16,15 +16,15 @@
*/
package org.apache.camel.reifier;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.WhenDefinition;
import org.apache.camel.processor.FilterProcessor;
-import org.apache.camel.spi.RouteContext;
public class WhenReifier extends ExpressionReifier<WhenDefinition> {
- public WhenReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (WhenDefinition) definition);
+ public WhenReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (WhenDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenSkipSendToEndpointReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenSkipSendToEndpointReifier.java
index d1facb2..3497013 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenSkipSendToEndpointReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WhenSkipSendToEndpointReifier.java
@@ -18,15 +18,15 @@ package org.apache.camel.reifier;
import org.apache.camel.Exchange;
import org.apache.camel.Predicate;
+import org.apache.camel.Route;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.WhenSkipSendToEndpointDefinition;
import org.apache.camel.processor.FilterProcessor;
-import org.apache.camel.spi.RouteContext;
public class WhenSkipSendToEndpointReifier extends ExpressionReifier<WhenSkipSendToEndpointDefinition> {
- public WhenSkipSendToEndpointReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, (WhenSkipSendToEndpointDefinition) definition);
+ public WhenSkipSendToEndpointReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, (WhenSkipSendToEndpointDefinition) definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WireTapReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WireTapReifier.java
index 063b543..b789a8b 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WireTapReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/WireTapReifier.java
@@ -21,6 +21,7 @@ import java.util.concurrent.ExecutorService;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Expression;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.ExpressionBuilder;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetHeaderDefinition;
@@ -28,12 +29,11 @@ import org.apache.camel.model.WireTapDefinition;
import org.apache.camel.processor.CamelInternalProcessor;
import org.apache.camel.processor.SendDynamicProcessor;
import org.apache.camel.processor.WireTapProcessor;
-import org.apache.camel.spi.RouteContext;
public class WireTapReifier extends ToDynamicReifier<WireTapDefinition<?>> {
- public WireTapReifier(RouteContext routeContext, ProcessorDefinition<?> definition) {
- super(routeContext, definition);
+ public WireTapReifier(Route route, ProcessorDefinition<?> definition) {
+ super(route, definition);
}
@Override
@@ -53,7 +53,7 @@ public class WireTapReifier extends ToDynamicReifier<WireTapDefinition<?>> {
// and wrap in unit of work
CamelInternalProcessor internal = new CamelInternalProcessor(camelContext, target);
- internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(routeContext, camelContext));
+ internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(route, camelContext));
// is true by default
boolean isCopy = parseBoolean(definition.getCopy(), true);
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
index 716a9bf..3ce447a 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
@@ -20,15 +20,15 @@ import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.DeadLetterChannelBuilder;
import org.apache.camel.processor.errorhandler.DeadLetterChannel;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.StringHelper;
public class DeadLetterChannelReifier extends DefaultErrorHandlerReifier<DeadLetterChannelBuilder> {
- public DeadLetterChannelReifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- super(routeContext, definition);
+ public DeadLetterChannelReifier(Route route, ErrorHandlerFactory definition) {
+ super(route, definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
index 88a50ea..29f0a24 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
@@ -21,16 +21,16 @@ import java.util.concurrent.ScheduledExecutorService;
import org.apache.camel.CamelContext;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.DefaultErrorHandlerBuilder;
import org.apache.camel.processor.errorhandler.DefaultErrorHandler;
import org.apache.camel.spi.ExecutorServiceManager;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.spi.ThreadPoolProfile;
public class DefaultErrorHandlerReifier<T extends DefaultErrorHandlerBuilder> extends ErrorHandlerReifier<T> {
- public DefaultErrorHandlerReifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- super(routeContext, (T)definition);
+ public DefaultErrorHandlerReifier(Route route, ErrorHandlerFactory definition) {
+ super(route, (T)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java
index df793fb..33333b5 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerRefReifier.java
@@ -18,27 +18,27 @@ package org.apache.camel.reifier.errorhandler;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.ErrorHandlerBuilderRef;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class ErrorHandlerRefReifier extends ErrorHandlerReifier<ErrorHandlerBuilderRef> {
- public ErrorHandlerRefReifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- super(routeContext, (ErrorHandlerBuilderRef)definition);
+ public ErrorHandlerRefReifier(Route route, ErrorHandlerFactory definition) {
+ super(route, (ErrorHandlerBuilderRef)definition);
}
@Override
public Processor createErrorHandler(Processor processor) throws Exception {
- ErrorHandlerFactory handler = lookupErrorHandler(routeContext);
- return ErrorHandlerReifier.reifier(routeContext, handler).createErrorHandler(processor);
+ ErrorHandlerFactory handler = lookupErrorHandler(route);
+ return ErrorHandlerReifier.reifier(route, handler).createErrorHandler(processor);
}
- private ErrorHandlerFactory lookupErrorHandler(RouteContext routeContext) {
+ private ErrorHandlerFactory lookupErrorHandler(Route route) {
ErrorHandlerFactory handler =
- ErrorHandlerReifier.lookupErrorHandlerFactory(routeContext, definition.getRef());
+ ErrorHandlerReifier.lookupErrorHandlerFactory(route, definition.getRef());
ObjectHelper.notNull(handler, "error handler '" + definition.getRef() + "'");
- routeContext.addErrorHandlerFactoryReference(definition, handler);
+ route.addErrorHandlerFactoryReference(definition, handler);
return handler;
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java
index f58379c..6aa50e9 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java
@@ -29,6 +29,7 @@ import org.apache.camel.LoggingLevel;
import org.apache.camel.NamedNode;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.DeadLetterChannelBuilder;
import org.apache.camel.builder.DefaultErrorHandlerBuilder;
@@ -48,16 +49,15 @@ import org.apache.camel.processor.errorhandler.ExceptionPolicyKey;
import org.apache.camel.processor.errorhandler.RedeliveryErrorHandler;
import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
import org.apache.camel.reifier.AbstractReifier;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.util.ObjectHelper;
public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport> extends AbstractReifier {
public static final String DEFAULT_ERROR_HANDLER_BUILDER = "CamelDefaultErrorHandlerBuilder";
- private static final Map<Class<?>, BiFunction<RouteContext, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>>> ERROR_HANDLERS;
+ private static final Map<Class<?>, BiFunction<Route, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>>> ERROR_HANDLERS;
static {
- Map<Class<?>, BiFunction<RouteContext, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>>> map = new HashMap<>();
+ Map<Class<?>, BiFunction<Route, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>>> map = new HashMap<>();
map.put(DeadLetterChannelBuilder.class, DeadLetterChannelReifier::new);
map.put(DefaultErrorHandlerBuilder.class, DefaultErrorHandlerReifier::new);
map.put(ErrorHandlerBuilderRef.class, ErrorHandlerRefReifier::new);
@@ -70,19 +70,19 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport>
/**
* Utility classes should not have a public constructor.
*/
- protected ErrorHandlerReifier(RouteContext routeContext, T definition) {
- super(routeContext);
+ protected ErrorHandlerReifier(Route route, T definition) {
+ super(route);
this.definition = definition;
}
- public static void registerReifier(Class<?> errorHandlerClass, BiFunction<RouteContext, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>> creator) {
+ public static void registerReifier(Class<?> errorHandlerClass, BiFunction<Route, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>> creator) {
ERROR_HANDLERS.put(errorHandlerClass, creator);
}
- public static ErrorHandlerReifier<? extends ErrorHandlerFactory> reifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- BiFunction<RouteContext, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>> reifier = ERROR_HANDLERS.get(definition.getClass());
+ public static ErrorHandlerReifier<? extends ErrorHandlerFactory> reifier(Route route, ErrorHandlerFactory definition) {
+ BiFunction<Route, ErrorHandlerFactory, ErrorHandlerReifier<? extends ErrorHandlerFactory>> reifier = ERROR_HANDLERS.get(definition.getClass());
if (reifier != null) {
- return reifier.apply(routeContext, definition);
+ return reifier.apply(route, definition);
}
throw new IllegalStateException("Unsupported definition: " + definition);
}
@@ -158,26 +158,26 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport>
/**
* Lookup the error handler by the given ref
*
- * @param routeContext the route context
+ * @param route the route context
* @param ref reference id for the error handler
* @return the error handler
*/
- public static ErrorHandlerFactory lookupErrorHandlerFactory(RouteContext routeContext, String ref) {
- return lookupErrorHandlerFactory(routeContext, ref, true);
+ public static ErrorHandlerFactory lookupErrorHandlerFactory(Route route, String ref) {
+ return lookupErrorHandlerFactory(route, ref, true);
}
/**
* Lookup the error handler by the given ref
*
- * @param routeContext the route context
+ * @param route the route
* @param ref reference id for the error handler
* @param mandatory whether the error handler must exists, if not a
* {@link org.apache.camel.NoSuchBeanException} is thrown
* @return the error handler
*/
- public static ErrorHandlerFactory lookupErrorHandlerFactory(RouteContext routeContext, String ref, boolean mandatory) {
+ public static ErrorHandlerFactory lookupErrorHandlerFactory(Route route, String ref, boolean mandatory) {
ErrorHandlerFactory answer;
- CamelContext camelContext = routeContext.getCamelContext();
+ CamelContext camelContext = route.getCamelContext();
// if the ref is the default then we do not have any explicit error
// handler configured
@@ -188,8 +188,8 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport>
if (!isErrorHandlerFactoryConfigured(ref)) {
// see if there has been configured a error handler builder on the route
// TODO: Avoid using RouteDefinition - tests should pass: https://issues.apache.org/jira/browse/CAMEL-13984
- RouteDefinition route = (RouteDefinition)routeContext.getRoute();
- answer = route.getErrorHandlerFactory();
+ RouteDefinition def = (RouteDefinition) route.getRoute();
+ answer = def.getErrorHandlerFactory();
// check if its also a ref with no error handler configuration like me
if (answer instanceof ErrorHandlerBuilderRef) {
ErrorHandlerBuilderRef other = (ErrorHandlerBuilderRef)answer;
@@ -211,7 +211,7 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport>
// shared
// this is needed by camel-spring when none error handler has
// been explicit configured
- routeContext.addErrorHandlerFactoryReference(other, answer);
+ route.addErrorHandlerFactoryReference(other, answer);
}
} else {
// use specific configured error handler
@@ -257,7 +257,7 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport>
public void addExceptionPolicy(ErrorHandlerSupport handlerSupport, OnExceptionDefinition exceptionType) {
// add error handler as child service so they get lifecycle handled
- Processor errorHandler = routeContext.getOnException(exceptionType.getId());
+ Processor errorHandler = route.getOnException(exceptionType.getId());
handlerSupport.addErrorHandler(errorHandler);
// load exception classes
@@ -309,7 +309,7 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport>
if (handler instanceof ErrorHandlerSupport) {
ErrorHandlerSupport handlerSupport = (ErrorHandlerSupport)handler;
- for (NamedNode exception : routeContext.getErrorHandlers(definition)) {
+ for (NamedNode exception : route.getErrorHandlers(definition)) {
addExceptionPolicy(handlerSupport, (OnExceptionDefinition) exception);
}
}
@@ -317,7 +317,7 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerBuilderSupport>
boolean original = ((RedeliveryErrorHandler)handler).isUseOriginalMessagePolicy() || ((RedeliveryErrorHandler)handler).isUseOriginalMessagePolicy();
if (original) {
// ensure allow original is turned on
- routeContext.setAllowUseOriginalMessage(true);
+ route.setAllowUseOriginalMessage(true);
}
}
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/NoErrorHandlerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/NoErrorHandlerReifier.java
index d6c6401..c2b21f9 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/NoErrorHandlerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/errorhandler/NoErrorHandlerReifier.java
@@ -21,14 +21,14 @@ import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Exchange;
import org.apache.camel.ExtendedExchange;
import org.apache.camel.Processor;
+import org.apache.camel.Route;
import org.apache.camel.builder.NoErrorHandlerBuilder;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.processor.DelegateAsyncProcessor;
public class NoErrorHandlerReifier extends ErrorHandlerReifier<NoErrorHandlerBuilder> {
- public NoErrorHandlerReifier(RouteContext routeContext, ErrorHandlerFactory definition) {
- super(routeContext, (NoErrorHandlerBuilder)definition);
+ public NoErrorHandlerReifier(Route route, ErrorHandlerFactory definition) {
+ super(route, (NoErrorHandlerBuilder)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/CustomLoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/CustomLoadBalancerReifier.java
index fa13084..834a06f 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/CustomLoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/CustomLoadBalancerReifier.java
@@ -16,16 +16,16 @@
*/
package org.apache.camel.reifier.loadbalancer;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.CustomLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.StringHelper;
public class CustomLoadBalancerReifier extends LoadBalancerReifier<CustomLoadBalancerDefinition> {
- public CustomLoadBalancerReifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- super(routeContext, (CustomLoadBalancerDefinition)definition);
+ public CustomLoadBalancerReifier(Route route, LoadBalancerDefinition definition) {
+ super(route, (CustomLoadBalancerDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/FailoverLoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/FailoverLoadBalancerReifier.java
index e861200..5b87680 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/FailoverLoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/FailoverLoadBalancerReifier.java
@@ -19,17 +19,17 @@ package org.apache.camel.reifier.loadbalancer;
import java.util.ArrayList;
import java.util.List;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.FailoverLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.FailOverLoadBalancer;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.ObjectHelper;
public class FailoverLoadBalancerReifier extends LoadBalancerReifier<FailoverLoadBalancerDefinition> {
- public FailoverLoadBalancerReifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- super(routeContext, (FailoverLoadBalancerDefinition)definition);
+ public FailoverLoadBalancerReifier(Route route, LoadBalancerDefinition definition) {
+ super(route, (FailoverLoadBalancerDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
index cbec76a..fe049c0 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/LoadBalancerReifier.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.function.BiFunction;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.CustomLoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.FailoverLoadBalancerDefinition;
@@ -31,14 +32,13 @@ import org.apache.camel.model.loadbalancer.WeightedLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.reifier.AbstractReifier;
import org.apache.camel.spi.ReifierStrategy;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.util.StringHelper;
public class LoadBalancerReifier<T extends LoadBalancerDefinition> extends AbstractReifier {
- private static final Map<Class<?>, BiFunction<RouteContext, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>>> LOAD_BALANCERS;
+ private static final Map<Class<?>, BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>>> LOAD_BALANCERS;
static {
- Map<Class<?>, BiFunction<RouteContext, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>>> map = new HashMap<>();
+ Map<Class<?>, BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>>> map = new HashMap<>();
map.put(LoadBalancerDefinition.class, LoadBalancerReifier::new);
map.put(CustomLoadBalancerDefinition.class, CustomLoadBalancerReifier::new);
map.put(FailoverLoadBalancerDefinition.class, FailoverLoadBalancerReifier::new);
@@ -53,15 +53,15 @@ public class LoadBalancerReifier<T extends LoadBalancerDefinition> extends Abstr
protected final T definition;
- public LoadBalancerReifier(RouteContext routeContext, T definition) {
- super(routeContext);
+ public LoadBalancerReifier(Route route, T definition) {
+ super(route);
this.definition = definition;
}
- public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- BiFunction<RouteContext, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier = LOAD_BALANCERS.get(definition.getClass());
+ public static LoadBalancerReifier<? extends LoadBalancerDefinition> reifier(Route route, LoadBalancerDefinition definition) {
+ BiFunction<Route, LoadBalancerDefinition, LoadBalancerReifier<? extends LoadBalancerDefinition>> reifier = LOAD_BALANCERS.get(definition.getClass());
if (reifier != null) {
- return reifier.apply(routeContext, definition);
+ return reifier.apply(route, definition);
}
throw new IllegalStateException("Unsupported definition: " + definition);
}
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RandomLoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RandomLoadBalancerReifier.java
index 4e9922a..23cc0ab 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RandomLoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RandomLoadBalancerReifier.java
@@ -16,16 +16,16 @@
*/
package org.apache.camel.reifier.loadbalancer;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.RandomLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.processor.loadbalancer.RandomLoadBalancer;
-import org.apache.camel.spi.RouteContext;
public class RandomLoadBalancerReifier extends LoadBalancerReifier<RandomLoadBalancerDefinition> {
- public RandomLoadBalancerReifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- super(routeContext, (RandomLoadBalancerDefinition)definition);
+ public RandomLoadBalancerReifier(Route route, LoadBalancerDefinition definition) {
+ super(route, (RandomLoadBalancerDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RoundRobinLoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RoundRobinLoadBalancerReifier.java
index d5244a3..acbac02 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RoundRobinLoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/RoundRobinLoadBalancerReifier.java
@@ -16,16 +16,16 @@
*/
package org.apache.camel.reifier.loadbalancer;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.RoundRobinLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer;
-import org.apache.camel.spi.RouteContext;
public class RoundRobinLoadBalancerReifier extends LoadBalancerReifier<RoundRobinLoadBalancerDefinition> {
- public RoundRobinLoadBalancerReifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- super(routeContext, (RoundRobinLoadBalancerDefinition)definition);
+ public RoundRobinLoadBalancerReifier(Route route, LoadBalancerDefinition definition) {
+ super(route, (RoundRobinLoadBalancerDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/StickyLoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/StickyLoadBalancerReifier.java
index f908307..2e41fca 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/StickyLoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/StickyLoadBalancerReifier.java
@@ -16,16 +16,16 @@
*/
package org.apache.camel.reifier.loadbalancer;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.StickyLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.processor.loadbalancer.StickyLoadBalancer;
-import org.apache.camel.spi.RouteContext;
public class StickyLoadBalancerReifier extends LoadBalancerReifier<StickyLoadBalancerDefinition> {
- public StickyLoadBalancerReifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- super(routeContext, (StickyLoadBalancerDefinition)definition);
+ public StickyLoadBalancerReifier(Route route, LoadBalancerDefinition definition) {
+ super(route, (StickyLoadBalancerDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/TopicLoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/TopicLoadBalancerReifier.java
index 4e749c6..21aa9cb 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/TopicLoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/TopicLoadBalancerReifier.java
@@ -16,16 +16,16 @@
*/
package org.apache.camel.reifier.loadbalancer;
+import org.apache.camel.Route;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.TopicLoadBalancerDefinition;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
-import org.apache.camel.spi.RouteContext;
public class TopicLoadBalancerReifier extends LoadBalancerReifier<TopicLoadBalancerDefinition> {
- public TopicLoadBalancerReifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- super(routeContext, (TopicLoadBalancerDefinition)definition);
+ public TopicLoadBalancerReifier(Route route, LoadBalancerDefinition definition) {
+ super(route, (TopicLoadBalancerDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/WeightedLoadBalancerReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/WeightedLoadBalancerReifier.java
index 03ea26f..3c6a2b8 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/WeightedLoadBalancerReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/loadbalancer/WeightedLoadBalancerReifier.java
@@ -19,6 +19,7 @@ package org.apache.camel.reifier.loadbalancer;
import java.util.ArrayList;
import java.util.List;
+import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.model.LoadBalancerDefinition;
import org.apache.camel.model.loadbalancer.WeightedLoadBalancerDefinition;
@@ -26,12 +27,11 @@ import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.processor.loadbalancer.WeightedLoadBalancer;
import org.apache.camel.processor.loadbalancer.WeightedRandomLoadBalancer;
import org.apache.camel.processor.loadbalancer.WeightedRoundRobinLoadBalancer;
-import org.apache.camel.spi.RouteContext;
public class WeightedLoadBalancerReifier extends LoadBalancerReifier<WeightedLoadBalancerDefinition> {
- public WeightedLoadBalancerReifier(RouteContext routeContext, LoadBalancerDefinition definition) {
- super(routeContext, (WeightedLoadBalancerDefinition)definition);
+ public WeightedLoadBalancerReifier(Route route, LoadBalancerDefinition definition) {
+ super(route, (WeightedLoadBalancerDefinition)definition);
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
index 7c00ba8..af2b124 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/rest/RestBindingReifier.java
@@ -22,21 +22,21 @@ import java.util.Map;
import javax.xml.bind.JAXBContext;
import org.apache.camel.ExtendedCamelContext;
+import org.apache.camel.Route;
import org.apache.camel.model.rest.RestBindingDefinition;
import org.apache.camel.model.rest.RestBindingMode;
import org.apache.camel.processor.RestBindingAdvice;
import org.apache.camel.reifier.AbstractReifier;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.RestConfiguration;
-import org.apache.camel.spi.RouteContext;
import org.apache.camel.support.PropertyBindingSupport;
public class RestBindingReifier extends AbstractReifier {
private final RestBindingDefinition definition;
- public RestBindingReifier(RouteContext routeContext, RestBindingDefinition definition) {
- super(routeContext);
+ public RestBindingReifier(Route route, RestBindingDefinition definition) {
+ super(route);
this.definition = definition;
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/ContextErrorHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/ContextErrorHandlerTest.java
index 43f4849..7c7a1bc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/ContextErrorHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/ContextErrorHandlerTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.Route;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.SendProcessor;
import org.apache.camel.processor.errorhandler.DeadLetterChannel;
import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
@@ -80,7 +80,7 @@ public class ContextErrorHandlerTest extends ContextTestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "seda://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Processor processor = consumerRoute.getProcessor();
Channel channel = unwrapChannel(processor);
@@ -104,7 +104,7 @@ public class ContextErrorHandlerTest extends ContextTestSupport {
assertEquals("Number routes created" + list, 2, list.size());
for (Route route : list) {
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Processor processor = consumerRoute.getProcessor();
Channel channel = unwrapChannel(processor);
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java
index 100af12..05b793f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.TestSupport;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.FilterProcessor;
import org.apache.camel.processor.SendProcessor;
import org.apache.camel.processor.errorhandler.DeadLetterChannel;
@@ -67,7 +67,7 @@ public class ErrorHandlerTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "seda://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumerRoute.getProcessor());
assertIsInstanceOf(DeadLetterChannel.class, channel.getErrorHandler());
@@ -121,7 +121,7 @@ public class ErrorHandlerTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "seda://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumerRoute.getProcessor());
assertIsInstanceOf(SendProcessor.class, channel.getNextProcessor());
@@ -150,7 +150,7 @@ public class ErrorHandlerTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "seda://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Processor processor = consumerRoute.getProcessor();
Channel channel = unwrapChannel(processor);
@@ -178,7 +178,7 @@ public class ErrorHandlerTest extends TestSupport {
for (Route route : routes) {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "seda://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumerRoute.getProcessor());
assertIsInstanceOf(DeadLetterChannel.class, channel.getErrorHandler());
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java
index 5574d48..1df4d4d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/RouteBuilderTest.java
@@ -31,7 +31,7 @@ import org.apache.camel.Producer;
import org.apache.camel.Route;
import org.apache.camel.TestSupport;
import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.ChoiceProcessor;
import org.apache.camel.processor.EvaluateExpressionProcessor;
import org.apache.camel.processor.FilterProcessor;
@@ -82,7 +82,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumer.getProcessor());
SendProcessor sendProcessor = assertIsInstanceOf(SendProcessor.class, channel.getNextProcessor());
@@ -114,7 +114,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumer.getProcessor());
FilterProcessor filterProcessor = assertIsInstanceOf(FilterProcessor.class, channel.getNextProcessor());
@@ -147,7 +147,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumer.getProcessor());
ChoiceProcessor choiceProcessor = assertIsInstanceOf(ChoiceProcessor.class, channel.getNextProcessor());
@@ -244,7 +244,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumer.getProcessor());
MulticastProcessor multicastProcessor = assertIsInstanceOf(MulticastProcessor.class, channel.getNextProcessor());
@@ -284,7 +284,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Pipeline line = assertIsInstanceOf(Pipeline.class, unwrap(consumer.getProcessor()));
assertEquals(3, line.next().size());
@@ -356,7 +356,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumer.getProcessor());
Pipeline line = assertIsInstanceOf(Pipeline.class, channel.getNextProcessor());
@@ -398,7 +398,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumer.getProcessor());
assertIsInstanceOf(Splitter.class, channel.getNextProcessor());
}
@@ -429,7 +429,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumer.getProcessor());
IdempotentConsumer idempotentConsumer = assertIsInstanceOf(IdempotentConsumer.class, channel.getNextProcessor());
@@ -466,7 +466,7 @@ public class RouteBuilderTest extends TestSupport {
Endpoint key = route.getEndpoint();
assertEquals("From endpoint", "direct://a", key.getEndpointUri());
- EventDrivenConsumerRoute consumer = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumer = assertIsInstanceOf(DefaultRoute.class, route);
Pipeline line = assertIsInstanceOf(Pipeline.class, unwrap(consumer.getProcessor()));
Iterator<Processor> it = line.next().iterator();
@@ -504,7 +504,7 @@ public class RouteBuilderTest extends TestSupport {
* lets unwrap that and return the actual processor
*/
protected Processor getProcessorWithoutErrorHandler(Route route) {
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Processor processor = unwrap(consumerRoute.getProcessor());
return unwrapErrorHandler(processor);
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
index f661ef2..05f22ba 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/FromRestGetPolicyTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class FromRestGetPolicyTest extends ContextTestSupport {
@@ -60,12 +60,12 @@ public class FromRestGetPolicyTest extends ContextTestSupport {
private class MyDummyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// noop
}
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
return processor;
}
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DummyLifecycleStrategy.java b/core/camel-core/src/test/java/org/apache/camel/impl/DummyLifecycleStrategy.java
index 67c3986..4ecd81c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/DummyLifecycleStrategy.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/DummyLifecycleStrategy.java
@@ -26,10 +26,9 @@ import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Processor;
-import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.VetoCamelContextStartException;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.LifecycleStrategySupport;
public class DummyLifecycleStrategy extends LifecycleStrategySupport {
@@ -67,37 +66,37 @@ public class DummyLifecycleStrategy extends LifecycleStrategySupport {
}
@Override
- public void onServiceAdd(CamelContext context, Service service, Route route) {
+ public void onServiceAdd(CamelContext context, Service service, org.apache.camel.Route route) {
events.add("onServiceAdd");
}
@Override
- public void onServiceRemove(CamelContext context, Service service, Route route) {
+ public void onServiceRemove(CamelContext context, Service service, org.apache.camel.Route route) {
events.add("onServiceRemove");
}
@Override
- public void onRoutesAdd(Collection<Route> routes) {
+ public void onRoutesAdd(Collection<org.apache.camel.Route> routes) {
events.add("onRoutesAdd");
}
@Override
- public void onRoutesRemove(Collection<Route> routes) {
+ public void onRoutesRemove(Collection<org.apache.camel.Route> routes) {
events.add("onRoutesRemove");
}
@Override
- public void onRouteContextCreate(RouteContext routeContext) {
+ public void onRouteContextCreate(Route route) {
events.add("onRouteContextCreate");
}
@Override
- public void onErrorHandlerAdd(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
+ public void onErrorHandlerAdd(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
events.add("onErrorHandlerAdd");
}
@Override
- public void onErrorHandlerRemove(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
+ public void onErrorHandlerRemove(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
events.add("onErrorHandlerRemove");
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyAutoStartupCancelledOnInitTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyAutoStartupCancelledOnInitTest.java
index bacd9e2..dcafa33 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyAutoStartupCancelledOnInitTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyAutoStartupCancelledOnInitTest.java
@@ -30,7 +30,7 @@ public class RoutePolicyAutoStartupCancelledOnInitTest extends ContextTestSuppor
private RoutePolicy policy = new RoutePolicySupport() {
@Override
public void onInit(Route route) {
- route.getRouteContext().setAutoStartup(false);
+ route.setAutoStartup(false);
}
};
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java
index ad78dfd..e4a9953 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithPolicyTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.reifier.RouteReifier;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class AdviceWithPolicyTest extends ContextTestSupport {
@@ -62,12 +62,12 @@ public class AdviceWithPolicyTest extends ContextTestSupport {
private static final class MyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// noop
}
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
return processor;
}
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java
index a830f7c..fa16993 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithTransactedTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.builder.AdviceWithRouteBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.reifier.RouteReifier;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class AdviceWithTransactedTest extends ContextTestSupport {
@@ -60,12 +60,12 @@ public class AdviceWithTransactedTest extends ContextTestSupport {
private static final class MyDummyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// noop
}
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
return processor;
}
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java
index 4ce6d43..473f419 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/TransactedPropertyPlaceholderIssueTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
/**
@@ -58,12 +58,12 @@ public class TransactedPropertyPlaceholderIssueTest extends ContextTestSupport {
private static final class MyDummyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// noop
}
@Override
- public Processor wrap(RouteContext routeContext, Processor processor) {
+ public Processor wrap(Route route, Processor processor) {
return processor;
}
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
index a4e227e..3e00dff 100644
--- a/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/model/LoadRouteFromXmlWithPolicyTest.java
@@ -25,7 +25,7 @@ import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class LoadRouteFromXmlWithPolicyTest extends ContextTestSupport {
@@ -83,12 +83,12 @@ public class LoadRouteFromXmlWithPolicyTest extends ContextTestSupport {
}
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// no need to modify the route
}
@Override
- public Processor wrap(RouteContext routeContext, final Processor processor) {
+ public Processor wrap(Route route, final Processor processor) {
return new Processor() {
public void process(Exchange exchange) throws Exception {
invoked++;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java
index f19ad47..f537978 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/CustomProcessorFactoryTest.java
@@ -29,7 +29,7 @@ import org.apache.camel.model.SplitDefinition;
import org.apache.camel.model.ToDefinition;
import org.apache.camel.model.language.ConstantExpression;
import org.apache.camel.spi.ProcessorFactory;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class CustomProcessorFactoryTest extends ContextTestSupport {
@@ -82,12 +82,12 @@ public class CustomProcessorFactoryTest extends ContextTestSupport {
public static class MyFactory implements ProcessorFactory {
@Override
- public Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception {
+ public Processor createChildProcessor(Route route, NamedNode definition, boolean mandatory) throws Exception {
return null;
}
@Override
- public Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception {
+ public Processor createProcessor(Route route, NamedNode definition) throws Exception {
if (definition instanceof SplitDefinition) {
// add additional output to the splitter
SplitDefinition split = (SplitDefinition)definition;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/DefaultErrorHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/DefaultErrorHandlerTest.java
index ba52941..ad5c048 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/DefaultErrorHandlerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/DefaultErrorHandlerTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.errorhandler.DefaultErrorHandler;
import org.junit.Test;
@@ -36,7 +36,7 @@ public class DefaultErrorHandlerTest extends ContextTestSupport {
@Test
public void testRoute() {
Route route = context.getRoutes().get(0);
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Processor processor = unwrap(consumerRoute.getProcessor());
Pipeline pipeline = assertIsInstanceOf(Pipeline.class, processor);
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
index b7ff263..cf914ee 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/DefinitionPolicyPerProcessorTest.java
@@ -26,7 +26,7 @@ import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.SetBodyDefinition;
import org.apache.camel.model.language.ConstantExpression;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class DefinitionPolicyPerProcessorTest extends ContextTestSupport {
@@ -80,13 +80,13 @@ public class DefinitionPolicyPerProcessorTest extends ContextTestSupport {
}
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
SetBodyDefinition bodyDef = (SetBodyDefinition)((ProcessorDefinition<?>)definition).getOutputs().get(0);
bodyDef.setExpression(new ConstantExpression("body was altered"));
}
@Override
- public Processor wrap(final RouteContext routeContext, final Processor processor) {
+ public Processor wrap(final Route route, final Processor processor) {
return new Processor() {
public void process(Exchange exchange) throws Exception {
invoked++;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
index 3ee39f4..9669ae9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerProcessorTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class PolicyPerProcessorTest extends ContextTestSupport {
@@ -88,12 +88,12 @@ public class PolicyPerProcessorTest extends ContextTestSupport {
}
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// no need to modify the route
}
@Override
- public Processor wrap(RouteContext routeContext, final Processor processor) {
+ public Processor wrap(Route route, final Processor processor) {
return new Processor() {
public void process(Exchange exchange) throws Exception {
invoked++;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
index 55c646a..2979e8e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/PolicyPerRouteTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class PolicyPerRouteTest extends ContextTestSupport {
@@ -81,12 +81,12 @@ public class PolicyPerRouteTest extends ContextTestSupport {
}
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// no need to modify the route
}
@Override
- public Processor wrap(RouteContext routeContext, final Processor processor) {
+ public Processor wrap(Route route, final Processor processor) {
return new Processor() {
public void process(Exchange exchange) throws Exception {
invoked++;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListContextScopedOnExceptionIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListContextScopedOnExceptionIssueTest.java
index dec286c..eec7885 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListContextScopedOnExceptionIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RecipientListContextScopedOnExceptionIssueTest.java
@@ -38,7 +38,7 @@ public class RecipientListContextScopedOnExceptionIssueTest extends ContextTestS
onException(Exception.class).handled(true).process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- String routeId = exchange.getUnitOfWork().getRouteContext().getRouteId();
+ String routeId = exchange.getUnitOfWork().getRoute().getRouteId();
assertEquals("fail", routeId);
}
@@ -91,7 +91,7 @@ public class RecipientListContextScopedOnExceptionIssueTest extends ContextTestS
onException(Exception.class).handled(true).process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- String routeId = exchange.getUnitOfWork().getRouteContext().getRouteId();
+ String routeId = exchange.getUnitOfWork().getRoute().getRouteId();
assertEquals("fail", routeId);
}
}).to("mock:error");
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java
index 1323d07..ae7fef9 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/ResequencerTest.java
@@ -23,7 +23,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Route;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.channel.DefaultChannel;
import org.apache.camel.processor.errorhandler.DefaultErrorHandler;
import org.junit.After;
@@ -82,7 +82,7 @@ public class ResequencerTest extends ContextTestSupport {
assertEquals("Number of routes created: " + list, 1, list.size());
Route route = list.get(0);
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
DefaultChannel channel = assertIsInstanceOf(DefaultChannel.class, unwrapChannel(consumerRoute.getProcessor()));
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RoutingSlipContextScopedOnExceptionIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RoutingSlipContextScopedOnExceptionIssueTest.java
index acf34fe..4bfebd7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/RoutingSlipContextScopedOnExceptionIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/RoutingSlipContextScopedOnExceptionIssueTest.java
@@ -38,7 +38,7 @@ public class RoutingSlipContextScopedOnExceptionIssueTest extends ContextTestSup
onException(Exception.class).handled(true).process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- String routeId = exchange.getUnitOfWork().getRouteContext().getRouteId();
+ String routeId = exchange.getUnitOfWork().getRoute().getRouteId();
assertEquals("fail", routeId);
}
}).to("mock:error");
@@ -82,7 +82,7 @@ public class RoutingSlipContextScopedOnExceptionIssueTest extends ContextTestSup
onException(Exception.class).handled(true).process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- String routeId = exchange.getUnitOfWork().getRouteContext().getRouteId();
+ String routeId = exchange.getUnitOfWork().getRoute().getRouteId();
assertEquals("fail", routeId);
}
}).to("mock:error");
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTwoRoutesTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTwoRoutesTest.java
index 63b1efb..8deadd5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTwoRoutesTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/SimpleMockTwoRoutesTest.java
@@ -60,7 +60,7 @@ public class SimpleMockTwoRoutesTest extends ContextTestSupport {
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- assertEquals("foo", exchange.getUnitOfWork().getRouteContext().getRouteId());
+ assertEquals("foo", exchange.getUnitOfWork().getRoute().getRouteId());
}
})
.to("mock:foo")
@@ -68,7 +68,7 @@ public class SimpleMockTwoRoutesTest extends ContextTestSupport {
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- assertEquals("foo", exchange.getUnitOfWork().getRouteContext().getRouteId());
+ assertEquals("foo", exchange.getUnitOfWork().getRoute().getRouteId());
}
})
.to("mock:result");
@@ -78,7 +78,7 @@ public class SimpleMockTwoRoutesTest extends ContextTestSupport {
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- assertEquals("bar", exchange.getUnitOfWork().getRouteContext().getRouteId());
+ assertEquals("bar", exchange.getUnitOfWork().getRoute().getRouteId());
}
})
.to("mock:bar");
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/StreamResequencerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/StreamResequencerTest.java
index 1f79bec..8549b6e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/StreamResequencerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/StreamResequencerTest.java
@@ -28,7 +28,7 @@ import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.Route;
import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.engine.EventDrivenConsumerRoute;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.processor.errorhandler.DefaultErrorHandler;
import org.apache.camel.support.service.ServiceHelper;
import org.junit.Test;
@@ -117,7 +117,7 @@ public class StreamResequencerTest extends ContextTestSupport {
assertEquals("Number of routes created: " + list, 1, list.size());
Route route = list.get(0);
- EventDrivenConsumerRoute consumerRoute = assertIsInstanceOf(EventDrivenConsumerRoute.class, route);
+ DefaultRoute consumerRoute = assertIsInstanceOf(DefaultRoute.class, route);
Channel channel = unwrapChannel(consumerRoute.getProcessor());
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
index fca65ac..04ce1e6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointPolicyTest.java
@@ -29,7 +29,7 @@ import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.JndiRegistry;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.AsyncCallbackToCompletableFutureAdapter;
import org.apache.camel.support.AsyncProcessorConverterHelper;
import org.junit.Test;
@@ -102,12 +102,12 @@ public class AsyncEndpointPolicyTest extends ContextTestSupport {
}
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// no need to modify the route
}
@Override
- public Processor wrap(RouteContext routeContext, final Processor processor) {
+ public Processor wrap(Route route, final Processor processor) {
return new AsyncProcessor() {
public boolean process(final Exchange exchange, final AsyncCallback callback) {
invoked++;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupportTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupportTest.java
index 9ecc356..2cccb31 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupportTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupportTest.java
@@ -25,7 +25,7 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.model.OnExceptionDefinition;
import org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class ErrorHandlerSupportTest extends ContextTestSupport {
@@ -37,7 +37,7 @@ public class ErrorHandlerSupportTest extends ContextTestSupport {
exceptions.add(ParentException.class);
ErrorHandlerSupport support = new ShuntErrorHandlerSupport();
- addExceptionPolicy(support, context.getRoute("foo").getRouteContext(), new OnExceptionDefinition(exceptions));
+ addExceptionPolicy(support, context.getRoute("foo"), new OnExceptionDefinition(exceptions));
assertEquals(ChildException.class.getName(), getExceptionPolicyFor(support, new ChildException(), 0));
assertEquals(ParentException.class.getName(), getExceptionPolicyFor(support, new ParentException(), 1));
@@ -50,7 +50,7 @@ public class ErrorHandlerSupportTest extends ContextTestSupport {
exceptions.add(ChildException.class);
ErrorHandlerSupport support = new ShuntErrorHandlerSupport();
- addExceptionPolicy(support, context.getRoute("foo").getRouteContext(), new OnExceptionDefinition(exceptions));
+ addExceptionPolicy(support, context.getRoute("foo"), new OnExceptionDefinition(exceptions));
assertEquals(ChildException.class.getName(), getExceptionPolicyFor(support, new ChildException(), 1));
assertEquals(ParentException.class.getName(), getExceptionPolicyFor(support, new ParentException(), 0));
@@ -59,8 +59,8 @@ public class ErrorHandlerSupportTest extends ContextTestSupport {
@Test
public void testTwoPolicyChildFirst() {
ErrorHandlerSupport support = new ShuntErrorHandlerSupport();
- addExceptionPolicy(support, context.getRoute("foo").getRouteContext(), new OnExceptionDefinition(ChildException.class));
- addExceptionPolicy(support, context.getRoute("foo").getRouteContext(), new OnExceptionDefinition(ParentException.class));
+ addExceptionPolicy(support, context.getRoute("foo"), new OnExceptionDefinition(ChildException.class));
+ addExceptionPolicy(support, context.getRoute("foo"), new OnExceptionDefinition(ParentException.class));
assertEquals(ChildException.class.getName(), getExceptionPolicyFor(support, new ChildException(), 0));
assertEquals(ParentException.class.getName(), getExceptionPolicyFor(support, new ParentException(), 0));
@@ -69,15 +69,15 @@ public class ErrorHandlerSupportTest extends ContextTestSupport {
@Test
public void testTwoPolicyChildLast() {
ErrorHandlerSupport support = new ShuntErrorHandlerSupport();
- addExceptionPolicy(support, context.getRoute("foo").getRouteContext(), new OnExceptionDefinition(ParentException.class));
- addExceptionPolicy(support, context.getRoute("foo").getRouteContext(), new OnExceptionDefinition(ChildException.class));
+ addExceptionPolicy(support, context.getRoute("foo"), new OnExceptionDefinition(ParentException.class));
+ addExceptionPolicy(support, context.getRoute("foo"), new OnExceptionDefinition(ChildException.class));
assertEquals(ChildException.class.getName(), getExceptionPolicyFor(support, new ChildException(), 0));
assertEquals(ParentException.class.getName(), getExceptionPolicyFor(support, new ParentException(), 0));
}
- private static void addExceptionPolicy(ErrorHandlerSupport handlerSupport, RouteContext routeContext, OnExceptionDefinition exceptionType) {
- new DefaultErrorHandlerReifier<>(routeContext, null).addExceptionPolicy(handlerSupport, exceptionType);
+ private static void addExceptionPolicy(ErrorHandlerSupport handlerSupport, Route route, OnExceptionDefinition exceptionType) {
+ new DefaultErrorHandlerReifier<>(route, null).addExceptionPolicy(handlerSupport, exceptionType);
}
private static String getExceptionPolicyFor(ErrorHandlerSupport support, Throwable childException, int index) {
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyTest.java
index 62ee77c..bf0153a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyTest.java
@@ -30,14 +30,13 @@ import org.apache.camel.ExchangeTimedOutException;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.ValidationException;
import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.DefaultRouteContext;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.model.OnExceptionDefinition;
import org.apache.camel.processor.errorhandler.DefaultExceptionPolicyStrategy;
import org.apache.camel.processor.errorhandler.ExceptionPolicy;
import org.apache.camel.processor.errorhandler.ExceptionPolicyKey;
import org.apache.camel.reifier.errorhandler.DefaultErrorHandlerReifier;
-import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Assert;
import org.junit.Test;
@@ -54,7 +53,7 @@ public class DefaultExceptionPolicyStrategyTest extends Assert {
private ExceptionPolicy exceptionPolicy(Class<? extends Throwable> exceptionClass) {
CamelContext cc = new DefaultCamelContext();
- RouteContext context = new DefaultRouteContext(cc, null, null);
+ Route context = new DefaultRoute(cc, null, null, null);
return new DefaultErrorHandlerReifier<>(context, null)
.createExceptionPolicy(new OnExceptionDefinition(exceptionClass));
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/ContextScopedOnExceptionCorrectRouteContextTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/ContextScopedOnExceptionCorrectRouteContextTest.java
index 10c2992..b0179f3 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/ContextScopedOnExceptionCorrectRouteContextTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/ContextScopedOnExceptionCorrectRouteContextTest.java
@@ -41,7 +41,7 @@ public class ContextScopedOnExceptionCorrectRouteContextTest extends ContextTest
onException(Exception.class).log("Error due ${exception.message}").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- String routeId = exchange.getUnitOfWork().getRouteContext().getRouteId();
+ String routeId = exchange.getUnitOfWork().getRoute().getRouteId();
assertEquals("bar", routeId);
}
});
@@ -76,7 +76,7 @@ public class ContextScopedOnExceptionCorrectRouteContextTest extends ContextTest
onException(Exception.class).log("Error due ${exception.message}").process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- String routeId = exchange.getUnitOfWork().getRouteContext().getRouteId();
+ String routeId = exchange.getUnitOfWork().getRoute().getRouteId();
assertEquals("foo", routeId);
}
});
diff --git a/core/camel-core/src/test/java/org/apache/camel/reifier/ProcessorReifierTest.java b/core/camel-core/src/test/java/org/apache/camel/reifier/ProcessorReifierTest.java
index 1deeae8..789dffd 100644
--- a/core/camel-core/src/test/java/org/apache/camel/reifier/ProcessorReifierTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/reifier/ProcessorReifierTest.java
@@ -16,9 +16,9 @@
*/
package org.apache.camel.reifier;
-import org.apache.camel.impl.DefaultRouteContext;
+import org.apache.camel.impl.engine.DefaultRoute;
import org.apache.camel.model.ProcessDefinition;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
import static junit.framework.TestCase.fail;
@@ -26,7 +26,7 @@ import static junit.framework.TestCase.fail;
public class ProcessorReifierTest {
@Test
public void testHandleCustomProcessorDefinition() {
- RouteContext ctx = new DefaultRouteContext(null, null, null);
+ Route ctx = new DefaultRoute(null, null, null, null);
try {
ProcessorReifier.reifier(ctx, new MyProcessor());
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectNameStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectNameStrategy.java
index 8c07f1f..97d769e 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectNameStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectNameStrategy.java
@@ -31,7 +31,6 @@ import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.StaticService;
import org.apache.camel.builder.ErrorHandlerBuilderRef;
@@ -59,7 +58,7 @@ import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.EventNotifier;
import org.apache.camel.spi.ManagementObjectNameStrategy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.util.InetAddressUtil;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.URISupport;
@@ -149,7 +148,7 @@ public class DefaultManagementObjectNameStrategy implements ManagementObjectName
objectName = getObjectNameForRoute(mr.getRoute());
} else if (managedObject instanceof ManagedErrorHandler) {
ManagedErrorHandler meh = (ManagedErrorHandler) managedObject;
- objectName = getObjectNameForErrorHandler(meh.getRouteContext(), meh.getErrorHandler(), meh.getErrorHandlerBuilder());
+ objectName = getObjectNameForErrorHandler(meh.getRoute(), meh.getErrorHandler(), meh.getErrorHandlerBuilder());
} else if (managedObject instanceof ManagedStep) {
ManagedStep mp = (ManagedStep) managedObject;
objectName = getObjectNameForStep(mp.getContext(), mp.getProcessor(), mp.getDefinition());
@@ -302,10 +301,10 @@ public class DefaultManagementObjectNameStrategy implements ManagementObjectName
}
@Override
- public ObjectName getObjectNameForErrorHandler(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory builder) throws MalformedObjectNameException {
+ public ObjectName getObjectNameForErrorHandler(Route route, Processor errorHandler, ErrorHandlerFactory builder) throws MalformedObjectNameException {
StringBuilder buffer = new StringBuilder();
buffer.append(domainName).append(":");
- buffer.append(KEY_CONTEXT + "=").append(getContextId(routeContext.getCamelContext())).append(",");
+ buffer.append(KEY_CONTEXT + "=").append(getContextId(route.getCamelContext())).append(",");
buffer.append(KEY_TYPE + "=").append(TYPE_ERRORHANDLER + ",");
// we want to only register one instance of the various error handler types and thus do some lookup
@@ -316,7 +315,7 @@ public class DefaultManagementObjectNameStrategy implements ManagementObjectName
// it has not then its an indirection and we should do some work to lookup the real builder
ref = builderRef.getRef();
- ErrorHandlerFactory refBuilder = ErrorHandlerReifier.lookupErrorHandlerFactory(routeContext, builderRef.getRef(), false);
+ ErrorHandlerFactory refBuilder = ErrorHandlerReifier.lookupErrorHandlerFactory(route, builderRef.getRef(), false);
if (refBuilder != null) {
builder = refBuilder;
}
@@ -328,7 +327,7 @@ public class DefaultManagementObjectNameStrategy implements ManagementObjectName
builderRef = (ErrorHandlerBuilderRef) builder;
// does it refer to a non default error handler then do a 2nd lookup
if (!builderRef.getRef().equals(ErrorHandlerReifier.DEFAULT_ERROR_HANDLER_BUILDER)) {
- refBuilder = ErrorHandlerReifier.lookupErrorHandlerFactory(routeContext, builderRef.getRef(), false);
+ refBuilder = ErrorHandlerReifier.lookupErrorHandlerFactory(route, builderRef.getRef(), false);
if (refBuilder != null) {
ref = builderRef.getRef();
builder = refBuilder;
@@ -417,7 +416,7 @@ public class DefaultManagementObjectNameStrategy implements ManagementObjectName
}
@Override
- public ObjectName getObjectNameForRoute(Route route) throws MalformedObjectNameException {
+ public ObjectName getObjectNameForRoute(org.apache.camel.Route route) throws MalformedObjectNameException {
Endpoint ep = route.getEndpoint();
String id = route.getId();
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
index 494f43f..6815e9a 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/DefaultManagementObjectStrategy.java
@@ -28,7 +28,6 @@ import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.cluster.CamelClusterService;
import org.apache.camel.component.bean.BeanProcessor;
@@ -101,11 +100,27 @@ import org.apache.camel.management.mbean.ManagedUnmarshal;
import org.apache.camel.management.mbean.ManagedValidate;
import org.apache.camel.management.mbean.ManagedWeightedLoadBalancer;
import org.apache.camel.management.mbean.ManagedWireTapProcessor;
+import org.apache.camel.model.AggregateDefinition;
+import org.apache.camel.model.DynamicRouterDefinition;
+import org.apache.camel.model.EnrichDefinition;
import org.apache.camel.model.ExpressionNode;
+import org.apache.camel.model.IdempotentConsumerDefinition;
import org.apache.camel.model.LoadBalanceDefinition;
+import org.apache.camel.model.LoopDefinition;
+import org.apache.camel.model.MarshalDefinition;
+import org.apache.camel.model.PollEnrichDefinition;
import org.apache.camel.model.ProcessDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RecipientListDefinition;
+import org.apache.camel.model.RoutingSlipDefinition;
+import org.apache.camel.model.ScriptDefinition;
+import org.apache.camel.model.SetBodyDefinition;
+import org.apache.camel.model.SetHeaderDefinition;
+import org.apache.camel.model.SetPropertyDefinition;
+import org.apache.camel.model.SplitDefinition;
+import org.apache.camel.model.TransformDefinition;
+import org.apache.camel.model.UnmarshalDefinition;
+import org.apache.camel.model.ValidateDefinition;
import org.apache.camel.model.loadbalancer.CustomLoadBalancerDefinition;
import org.apache.camel.processor.ChoiceProcessor;
import org.apache.camel.processor.ClaimCheckProcessor;
@@ -158,7 +173,7 @@ import org.apache.camel.spi.BrowsableEndpoint;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.EventNotifier;
import org.apache.camel.spi.ManagementObjectStrategy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.support.ScheduledPollConsumer;
import org.apache.camel.support.processor.MarshalProcessor;
import org.apache.camel.support.processor.PredicateValidatingProcessor;
@@ -220,9 +235,9 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
}
@Override
- public Object getManagedObjectForErrorHandler(CamelContext context, RouteContext routeContext,
+ public Object getManagedObjectForErrorHandler(CamelContext context, Route route,
Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
- ManagedErrorHandler me = new ManagedErrorHandler(routeContext, errorHandler, errorHandlerBuilder);
+ ManagedErrorHandler me = new ManagedErrorHandler(route, errorHandler, errorHandlerBuilder);
me.init(context.getManagementStrategy());
return me;
}
@@ -331,35 +346,35 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
} else if (target instanceof Throttler) {
answer = new ManagedThrottler(context, (Throttler) target, definition);
} else if (target instanceof DynamicRouter) {
- answer = new ManagedDynamicRouter(context, (DynamicRouter) target, (org.apache.camel.model.DynamicRouterDefinition) definition);
+ answer = new ManagedDynamicRouter(context, (DynamicRouter) target, (DynamicRouterDefinition) definition);
} else if (target instanceof RoutingSlip) {
- answer = new ManagedRoutingSlip(context, (RoutingSlip) target, (org.apache.camel.model.RoutingSlipDefinition) definition);
+ answer = new ManagedRoutingSlip(context, (RoutingSlip) target, (RoutingSlipDefinition) definition);
} else if (target instanceof FilterProcessor) {
answer = new ManagedFilter(context, (FilterProcessor) target, (ExpressionNode)definition);
} else if (target instanceof LogProcessor) {
answer = new ManagedLog(context, (LogProcessor) target, definition);
} else if (target instanceof LoopProcessor) {
- answer = new ManagedLoop(context, (LoopProcessor) target, (org.apache.camel.model.LoopDefinition) definition);
+ answer = new ManagedLoop(context, (LoopProcessor) target, (LoopDefinition) definition);
} else if (target instanceof MarshalProcessor) {
- answer = new ManagedMarshal(context, (MarshalProcessor) target, (org.apache.camel.model.MarshalDefinition) definition);
+ answer = new ManagedMarshal(context, (MarshalProcessor) target, (MarshalDefinition) definition);
} else if (target instanceof UnmarshalProcessor) {
- answer = new ManagedUnmarshal(context, (UnmarshalProcessor) target, (org.apache.camel.model.UnmarshalDefinition) definition);
+ answer = new ManagedUnmarshal(context, (UnmarshalProcessor) target, (UnmarshalDefinition) definition);
} else if (target instanceof FailOverLoadBalancer) {
- answer = new ManagedFailoverLoadBalancer(context, (FailOverLoadBalancer) target, (org.apache.camel.model.LoadBalanceDefinition) definition);
+ answer = new ManagedFailoverLoadBalancer(context, (FailOverLoadBalancer) target, (LoadBalanceDefinition) definition);
} else if (target instanceof RandomLoadBalancer) {
- answer = new ManagedRandomLoadBalancer(context, (RandomLoadBalancer) target, (org.apache.camel.model.LoadBalanceDefinition) definition);
+ answer = new ManagedRandomLoadBalancer(context, (RandomLoadBalancer) target, (LoadBalanceDefinition) definition);
} else if (target instanceof RoundRobinLoadBalancer) {
- answer = new ManagedRoundRobinLoadBalancer(context, (RoundRobinLoadBalancer) target, (org.apache.camel.model.LoadBalanceDefinition) definition);
+ answer = new ManagedRoundRobinLoadBalancer(context, (RoundRobinLoadBalancer) target, (LoadBalanceDefinition) definition);
} else if (target instanceof StickyLoadBalancer) {
- answer = new ManagedStickyLoadBalancer(context, (StickyLoadBalancer) target, (org.apache.camel.model.LoadBalanceDefinition) definition);
+ answer = new ManagedStickyLoadBalancer(context, (StickyLoadBalancer) target, (LoadBalanceDefinition) definition);
} else if (target instanceof TopicLoadBalancer) {
- answer = new ManagedTopicLoadBalancer(context, (TopicLoadBalancer) target, (org.apache.camel.model.LoadBalanceDefinition) definition);
+ answer = new ManagedTopicLoadBalancer(context, (TopicLoadBalancer) target, (LoadBalanceDefinition) definition);
} else if (target instanceof WeightedLoadBalancer) {
- answer = new ManagedWeightedLoadBalancer(context, (WeightedLoadBalancer) target, (org.apache.camel.model.LoadBalanceDefinition) definition);
+ answer = new ManagedWeightedLoadBalancer(context, (WeightedLoadBalancer) target, (LoadBalanceDefinition) definition);
} else if (target instanceof RecipientList) {
answer = new ManagedRecipientList(context, (RecipientList) target, (RecipientListDefinition) definition);
} else if (target instanceof Splitter) {
- answer = new ManagedSplitter(context, (Splitter) target, (org.apache.camel.model.SplitDefinition) definition);
+ answer = new ManagedSplitter(context, (Splitter) target, (SplitDefinition) definition);
} else if (target instanceof MulticastProcessor) {
answer = new ManagedMulticast(context, (MulticastProcessor) target, definition);
} else if (target instanceof SamplingThrottler) {
@@ -371,23 +386,23 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
} else if (target instanceof StreamResequencer) {
answer = new ManagedResequencer(context, (StreamResequencer) target, definition);
} else if (target instanceof SetBodyProcessor) {
- answer = new ManagedSetBody(context, (SetBodyProcessor) target, (org.apache.camel.model.SetBodyDefinition) definition);
+ answer = new ManagedSetBody(context, (SetBodyProcessor) target, (SetBodyDefinition) definition);
} else if (target instanceof RemoveHeaderProcessor) {
answer = new ManagedRemoveHeader(context, (RemoveHeaderProcessor) target, definition);
} else if (target instanceof RemoveHeadersProcessor) {
answer = new ManagedRemoveHeaders(context, (RemoveHeadersProcessor) target, definition);
} else if (target instanceof SetHeaderProcessor) {
- answer = new ManagedSetHeader(context, (SetHeaderProcessor) target, (org.apache.camel.model.SetHeaderDefinition) definition);
+ answer = new ManagedSetHeader(context, (SetHeaderProcessor) target, (SetHeaderDefinition) definition);
} else if (target instanceof RemovePropertyProcessor) {
answer = new ManagedRemoveProperty(context, (RemovePropertyProcessor) target, definition);
} else if (target instanceof RemovePropertiesProcessor) {
answer = new ManagedRemoveProperties(context, (RemovePropertiesProcessor) target, definition);
} else if (target instanceof SetPropertyProcessor) {
- answer = new ManagedSetProperty(context, (SetPropertyProcessor) target, (org.apache.camel.model.SetPropertyDefinition) definition);
+ answer = new ManagedSetProperty(context, (SetPropertyProcessor) target, (SetPropertyDefinition) definition);
} else if (target instanceof ExchangePatternProcessor) {
answer = new ManagedSetExchangePattern(context, (ExchangePatternProcessor) target, definition);
} else if (target instanceof ScriptProcessor) {
- answer = new ManagedScript(context, (ScriptProcessor) target, (org.apache.camel.model.ScriptDefinition) definition);
+ answer = new ManagedScript(context, (ScriptProcessor) target, (ScriptDefinition) definition);
} else if (target instanceof StepProcessor) {
answer = new ManagedStep(context, (StepProcessor) target, definition);
} else if (target instanceof StopProcessor) {
@@ -397,9 +412,9 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
} else if (target instanceof ThrowExceptionProcessor) {
answer = new ManagedThrowException(context, (ThrowExceptionProcessor) target, definition);
} else if (target instanceof TransformProcessor) {
- answer = new ManagedTransformer(context, (TransformProcessor) target, (org.apache.camel.model.TransformDefinition) definition);
+ answer = new ManagedTransformer(context, (TransformProcessor) target, (TransformDefinition) definition);
} else if (target instanceof PredicateValidatingProcessor) {
- answer = new ManagedValidate(context, (PredicateValidatingProcessor) target, (org.apache.camel.model.ValidateDefinition) definition);
+ answer = new ManagedValidate(context, (PredicateValidatingProcessor) target, (ValidateDefinition) definition);
} else if (target instanceof WireTapProcessor) {
answer = new ManagedWireTapProcessor(context, (WireTapProcessor) target, definition);
} else if (target instanceof SendDynamicProcessor) {
@@ -421,13 +436,13 @@ public class DefaultManagementObjectStrategy implements ManagementObjectStrategy
} else if (target instanceof BeanProcessor) {
answer = new ManagedBeanProcessor(context, (BeanProcessor) target, definition);
} else if (target instanceof IdempotentConsumer) {
- answer = new ManagedIdempotentConsumer(context, (IdempotentConsumer) target, (org.apache.camel.model.IdempotentConsumerDefinition) definition);
+ answer = new ManagedIdempotentConsumer(context, (IdempotentConsumer) target, (IdempotentConsumerDefinition) definition);
} else if (target instanceof AggregateProcessor) {
- answer = new ManagedAggregateProcessor(context, (AggregateProcessor) target, (org.apache.camel.model.AggregateDefinition) definition);
+ answer = new ManagedAggregateProcessor(context, (AggregateProcessor) target, (AggregateDefinition) definition);
} else if (target instanceof Enricher) {
- answer = new ManagedEnricher(context, (Enricher) target, (org.apache.camel.model.EnrichDefinition) definition);
+ answer = new ManagedEnricher(context, (Enricher) target, (EnrichDefinition) definition);
} else if (target instanceof PollEnricher) {
- answer = new ManagedPollEnricher(context, (PollEnricher) target, (org.apache.camel.model.PollEnrichDefinition) definition);
+ answer = new ManagedPollEnricher(context, (PollEnricher) target, (PollEnrichDefinition) definition);
}
// special for custom load balancer
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
index cea1e3c..03210c6 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
@@ -43,7 +43,6 @@ import org.apache.camel.NamedNode;
import org.apache.camel.NonManagedService;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
-import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.Service;
import org.apache.camel.StartupListener;
@@ -96,7 +95,7 @@ import org.apache.camel.spi.ManagementObjectStrategy;
import org.apache.camel.spi.ManagementStrategy;
import org.apache.camel.spi.ProducerCache;
import org.apache.camel.spi.RestRegistry;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.apache.camel.spi.RuntimeEndpointRegistry;
import org.apache.camel.spi.StreamCachingStrategy;
import org.apache.camel.spi.Tracer;
@@ -430,7 +429,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@Override
- public void onServiceAdd(CamelContext context, Service service, Route route) {
+ public void onServiceAdd(CamelContext context, Service service, org.apache.camel.Route route) {
if (!initialized) {
// pre register so we can register later when we have been initialized
PreRegisterService pre = new PreRegisterService();
@@ -467,7 +466,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@Override
- public void onServiceRemove(CamelContext context, Service service, Route route) {
+ public void onServiceRemove(CamelContext context, Service service, org.apache.camel.Route route) {
// the agent hasn't been started
if (!initialized) {
return;
@@ -484,7 +483,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@SuppressWarnings("unchecked")
- private Object getManagedObjectForService(CamelContext context, Service service, Route route) {
+ private Object getManagedObjectForService(CamelContext context, Service service, org.apache.camel.Route route) {
// skip channel, UoW and dont double wrap instrumentation
if (service instanceof Channel || service instanceof UnitOfWork || service instanceof InstrumentationProcessor) {
return null;
@@ -576,7 +575,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
return answer;
}
- private Object getManagedObjectForProcessor(CamelContext context, Processor processor, Route route) {
+ private Object getManagedObjectForProcessor(CamelContext context, Processor processor, org.apache.camel.Route route) {
// a bit of magic here as the processors we want to manage have already been registered
// in the wrapped processors map when Camel have instrumented the route on route initialization
// so the idea is now to only manage the processors from the map
@@ -604,8 +603,8 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@Override
- public void onRoutesAdd(Collection<Route> routes) {
- for (Route route : routes) {
+ public void onRoutesAdd(Collection<org.apache.camel.Route> routes) {
+ for (org.apache.camel.Route route : routes) {
// if we are starting CamelContext or either of the two options has been
// enabled, then enlist the route as a known route
@@ -659,13 +658,13 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@Override
- public void onRoutesRemove(Collection<Route> routes) {
+ public void onRoutesRemove(Collection<org.apache.camel.Route> routes) {
// the agent hasn't been started
if (!initialized) {
return;
}
- for (Route route : routes) {
+ for (org.apache.camel.Route route : routes) {
Object mr = getManagementObjectStrategy().getManagedObjectForRoute(camelContext, route);
// skip unmanaged routes
@@ -690,13 +689,13 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@Override
- public void onErrorHandlerAdd(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
+ public void onErrorHandlerAdd(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
if (!shouldRegister(errorHandler, null)) {
// avoid registering if not needed
return;
}
- Object me = getManagementObjectStrategy().getManagedObjectForErrorHandler(camelContext, routeContext, errorHandler, errorHandlerBuilder);
+ Object me = getManagementObjectStrategy().getManagedObjectForErrorHandler(camelContext, route, errorHandler, errorHandlerBuilder);
// skip already managed services, for example if a route has been restarted
if (getManagementStrategy().isManaged(me)) {
@@ -712,12 +711,12 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@Override
- public void onErrorHandlerRemove(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
+ public void onErrorHandlerRemove(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
if (!initialized) {
return;
}
- Object me = getManagementObjectStrategy().getManagedObjectForErrorHandler(camelContext, routeContext, errorHandler, errorHandlerBuilder);
+ Object me = getManagementObjectStrategy().getManagedObjectForErrorHandler(camelContext, route, errorHandler, errorHandlerBuilder);
if (me != null) {
try {
unmanageObject(me);
@@ -778,7 +777,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
@Override
- public void onRouteContextCreate(RouteContext routeContext) {
+ public void onRouteContextCreate(Route route) {
if (!initialized) {
return;
}
@@ -790,16 +789,16 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
// Each processor in a route will have its own performance counter.
// These performance counter will be embedded to InstrumentationProcessor
// and wrap the appropriate processor by InstrumentationInterceptStrategy.
- RouteDefinition route = (RouteDefinition) routeContext.getRoute();
+ RouteDefinition routeDefinition = (RouteDefinition) route.getRoute();
// register performance counters for all processors and its children
- for (ProcessorDefinition<?> processor : route.getOutputs()) {
- registerPerformanceCounters(routeContext, processor, registeredCounters);
+ for (ProcessorDefinition<?> processor : routeDefinition.getOutputs()) {
+ registerPerformanceCounters(route, processor, registeredCounters);
}
// set this managed intercept strategy that executes the JMX instrumentation for performance metrics
// so our registered counters can be used for fine grained performance instrumentation
- routeContext.setManagementInterceptStrategy(new InstrumentationInterceptStrategy(registeredCounters, wrappedProcessors));
+ route.setManagementInterceptStrategy(new InstrumentationInterceptStrategy(registeredCounters, wrappedProcessors));
}
/**
@@ -809,9 +808,9 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
*
* @param routes the routes
*/
- private void removeWrappedProcessorsForRoutes(Collection<Route> routes) {
+ private void removeWrappedProcessorsForRoutes(Collection<org.apache.camel.Route> routes) {
// loop the routes, and remove the route associated wrapped processors, as they are no longer in use
- for (Route route : routes) {
+ for (org.apache.camel.Route route : routes) {
String id = route.getId();
Iterator<KeyValueHolder<NamedNode, InstrumentationProcessor>> it = wrappedProcessors.values().iterator();
@@ -826,13 +825,13 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
- private void registerPerformanceCounters(RouteContext routeContext, ProcessorDefinition<?> processor,
+ private void registerPerformanceCounters(Route route, ProcessorDefinition<?> processor,
Map<NamedNode, PerformanceCounter> registeredCounters) {
// traverse children if any exists
List<ProcessorDefinition<?>> children = processor.getOutputs();
for (ProcessorDefinition<?> child : children) {
- registerPerformanceCounters(routeContext, child, registeredCounters);
+ registerPerformanceCounters(route, child, registeredCounters);
}
// skip processors that should not be registered
@@ -936,7 +935,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
* @param route an optional route the mbean is associated with, can be <tt>null</tt>
* @return <tt>true</tt> to register, <tt>false</tt> to skip registering
*/
- protected boolean shouldRegister(Object service, Route route) {
+ protected boolean shouldRegister(Object service, org.apache.camel.Route route) {
// the agent hasn't been started
if (!initialized) {
return false;
@@ -1030,7 +1029,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
private Endpoint endpoint;
private CamelContext camelContext;
private Service service;
- private Route route;
+ private org.apache.camel.Route route;
public void onComponentAdd(String name, Component component) {
this.name = name;
@@ -1041,7 +1040,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
this.endpoint = endpoint;
}
- public void onServiceAdd(CamelContext camelContext, Service service, Route route) {
+ public void onServiceAdd(CamelContext camelContext, Service service, org.apache.camel.Route route) {
this.camelContext = camelContext;
this.service = service;
this.route = route;
@@ -1067,7 +1066,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
return service;
}
- public Route getRoute() {
+ public org.apache.camel.Route getRoute() {
return route;
}
}
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java
index ddfc3bf..2862351 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedErrorHandler.java
@@ -24,16 +24,16 @@ import org.apache.camel.api.management.mbean.ManagedErrorHandlerMBean;
import org.apache.camel.processor.errorhandler.ErrorHandlerSupport;
import org.apache.camel.processor.errorhandler.RedeliveryErrorHandler;
import org.apache.camel.spi.ManagementStrategy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
@ManagedResource(description = "Managed ErrorHandler")
public class ManagedErrorHandler implements ManagedErrorHandlerMBean {
- private final RouteContext routeContext;
+ private final Route route;
private final Processor errorHandler;
private final ErrorHandlerFactory errorHandlerBuilder;
- public ManagedErrorHandler(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory builder) {
- this.routeContext = routeContext;
+ public ManagedErrorHandler(Route route, Processor errorHandler, ErrorHandlerFactory builder) {
+ this.route = route;
this.errorHandler = errorHandler;
this.errorHandlerBuilder = builder;
}
@@ -42,8 +42,8 @@ public class ManagedErrorHandler implements ManagedErrorHandlerMBean {
// do nothing
}
- public RouteContext getRouteContext() {
- return routeContext;
+ public Route getRoute() {
+ return route;
}
public Processor getErrorHandler() {
@@ -56,12 +56,12 @@ public class ManagedErrorHandler implements ManagedErrorHandlerMBean {
@Override
public String getCamelId() {
- return routeContext.getCamelContext().getName();
+ return route.getCamelContext().getName();
}
@Override
public String getCamelManagementName() {
- return routeContext.getCamelContext().getManagementName();
+ return route.getCamelContext().getManagementName();
}
@Override
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
index cb35cbf..ed0a340 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
@@ -186,27 +186,27 @@ public class ManagedRoute extends ManagedPerformanceCounter implements TimerList
@Override
public Boolean getTracing() {
- return route.getRouteContext().isTracing();
+ return route.isTracing();
}
@Override
public void setTracing(Boolean tracing) {
- route.getRouteContext().setTracing(tracing);
+ route.setTracing(tracing);
}
@Override
public Boolean getMessageHistory() {
- return route.getRouteContext().isMessageHistory();
+ return route.isMessageHistory();
}
@Override
public Boolean getLogMask() {
- return route.getRouteContext().isLogMask();
+ return route.isLogMask();
}
@Override
public String getRoutePolicyList() {
- List<RoutePolicy> policyList = route.getRouteContext().getRoutePolicyList();
+ List<RoutePolicy> policyList = route.getRoutePolicyList();
if (policyList == null || policyList.isEmpty()) {
// return an empty string to have it displayed nicely in JMX consoles
@@ -594,12 +594,12 @@ public class ManagedRoute extends ManagedPerformanceCounter implements TimerList
@Override
public Boolean getHasRouteController() {
- return route.getRouteContext().getRouteController() != null;
+ return route.getRouteController() != null;
}
@Override
public RouteError getLastError() {
- org.apache.camel.spi.RouteError error = route.getRouteContext().getLastError();
+ org.apache.camel.spi.RouteError error = route.getLastError();
if (error == null) {
return null;
} else {
diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java
index d45c54b..2a622a8 100644
--- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java
+++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomPolicyTest.java
@@ -26,7 +26,7 @@ import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spi.Policy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
import org.junit.Test;
public class ManagedCustomPolicyTest extends ManagementTestSupport {
@@ -81,12 +81,12 @@ public class ManagedCustomPolicyTest extends ManagementTestSupport {
private final class MyPolicy implements Policy {
@Override
- public void beforeWrap(RouteContext routeContext, NamedNode definition) {
+ public void beforeWrap(Route route, NamedNode definition) {
// noop
}
@Override
- public Processor wrap(RouteContext routeContext, final Processor processor) {
+ public Processor wrap(Route route, final Processor processor) {
return exchange -> {
counter.incrementAndGet();
processor.process(exchange);
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ExchangeHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/ExchangeHelper.java
index 87b7655..80a6f08 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/ExchangeHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/ExchangeHelper.java
@@ -645,7 +645,7 @@ public final class ExchangeHelper {
public static boolean isStreamCachingEnabled(final Exchange exchange) {
Route route = exchange.getContext().getRoute(exchange.getFromRouteId());
if (route != null) {
- return route.getRouteContext().isStreamCaching();
+ return route.isStreamCaching();
} else {
return exchange.getContext().getStreamCachingStrategy().isEnabled();
}
@@ -1003,4 +1003,27 @@ public final class ExchangeHelper {
}
return scanner;
}
+
+ public static String getRouteId(Exchange exchange) {
+ String answer = getAtRouteId(exchange);
+ if (answer == null) {
+ // fallback and get from route id on the exchange
+ answer = exchange.getFromRouteId();
+ }
+ return answer;
+ }
+
+ public static String getAtRouteId(Exchange exchange) {
+ String answer = null;
+ Route rc = getRoute(exchange);
+ if (rc != null) {
+ answer = rc.getRouteId();
+ }
+ return answer;
+ }
+
+ public static Route getRoute(Exchange exchange) {
+ UnitOfWork uow = exchange.getUnitOfWork();
+ return uow != null ? uow.getRoute() : null;
+ }
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/LifecycleStrategySupport.java b/core/camel-support/src/main/java/org/apache/camel/support/LifecycleStrategySupport.java
index 49d4267..5b10a39 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/LifecycleStrategySupport.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/LifecycleStrategySupport.java
@@ -24,11 +24,10 @@ import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
import org.apache.camel.Processor;
-import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.VetoCamelContextStartException;
import org.apache.camel.spi.LifecycleStrategy;
-import org.apache.camel.spi.RouteContext;
+import org.apache.camel.Route;
/**
* A useful base class for {@link LifecycleStrategy} implementations.
@@ -66,37 +65,37 @@ public abstract class LifecycleStrategySupport implements LifecycleStrategy {
}
@Override
- public void onServiceAdd(CamelContext context, Service service, Route route) {
+ public void onServiceAdd(CamelContext context, Service service, org.apache.camel.Route route) {
// noop
}
@Override
- public void onServiceRemove(CamelContext context, Service service, Route route) {
+ public void onServiceRemove(CamelContext context, Service service, org.apache.camel.Route route) {
// noop
}
@Override
- public void onRoutesAdd(Collection<Route> routes) {
+ public void onRoutesAdd(Collection<org.apache.camel.Route> routes) {
// noop
}
@Override
- public void onRoutesRemove(Collection<Route> routes) {
+ public void onRoutesRemove(Collection<org.apache.camel.Route> routes) {
// noop
}
@Override
- public void onRouteContextCreate(RouteContext routeContext) {
+ public void onRouteContextCreate(Route route) {
// noop
}
@Override
- public void onErrorHandlerAdd(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
+ public void onErrorHandlerAdd(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
// noop
}
@Override
- public void onErrorHandlerRemove(RouteContext routeContext, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
+ public void onErrorHandlerRemove(Route route, Processor errorHandler, ErrorHandlerFactory errorHandlerBuilder) {
// noop
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
index 8756f9a..807bf25 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java
@@ -22,8 +22,6 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
@@ -36,8 +34,6 @@ import org.apache.camel.StreamCache;
import org.apache.camel.WrappedFile;
import org.apache.camel.spi.ExchangeFormatter;
import org.apache.camel.spi.HeaderFilterStrategy;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.StopWatch;
import org.apache.camel.util.StringHelper;
@@ -586,10 +582,9 @@ public final class MessageHelper {
id = exchange.adapt(ExtendedExchange.class).getHistoryNodeId();
if (id != null) {
// compute route id
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- routeId = rc.getRouteId();
+ String rid = ExchangeHelper.getAtRouteId(exchange);
+ if (rid != null) {
+ routeId = rid;
}
label = exchange.adapt(ExtendedExchange.class).getHistoryNodeLabel();
// we need to avoid leak the sensible information here
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/builder/ExpressionBuilder.java b/core/camel-support/src/main/java/org/apache/camel/support/builder/ExpressionBuilder.java
index 9085cd5..71f1d68 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/builder/ExpressionBuilder.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/builder/ExpressionBuilder.java
@@ -39,8 +39,6 @@ import org.apache.camel.RuntimeCamelException;
import org.apache.camel.RuntimeExchangeException;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.PropertiesComponent;
-import org.apache.camel.spi.RouteContext;
-import org.apache.camel.spi.UnitOfWork;
import org.apache.camel.support.ExchangeHelper;
import org.apache.camel.support.ExpressionAdapter;
import org.apache.camel.support.GroupIterator;
@@ -1242,16 +1240,7 @@ public class ExpressionBuilder {
public static Expression routeIdExpression() {
return new ExpressionAdapter() {
public Object evaluate(Exchange exchange) {
- String answer = null;
- UnitOfWork uow = exchange.getUnitOfWork();
- RouteContext rc = uow != null ? uow.getRouteContext() : null;
- if (rc != null) {
- answer = rc.getRouteId();
- }
- if (answer == null) {
- // fallback and get from route id on the exchange
- answer = exchange.getFromRouteId();
- }
+ String answer = ExchangeHelper.getRouteId(exchange);
return answer;
}