You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/05/21 07:25:56 UTC
[camel] branch master updated: CAMEL-13456 (#2935)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 4c040c6 CAMEL-13456 (#2935)
4c040c6 is described below
commit 4c040c6f6e0ee5d875ebf1989e0181ac64dd53ce
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue May 21 09:25:51 2019 +0200
CAMEL-13456 (#2935)
* CAMEL-13456: CamelContext - Move API that are not related to end users to an ExtendedCamelContext
* Add maven repo to atlassian so camel-jira-starter can build
---
MIGRATION.md | 7 +
.../camel/component/aws/xray/XRayTracer.java | 3 +-
.../apache/camel/component/bean/MethodInfo.java | 8 +-
.../apache/camel/component/bean/ProxyHelper.java | 3 +-
.../org/apache/camel/cdi/test/NoTCCLSetTest.java | 3 +-
.../cxf/CxfGreeterCXFMessageRouterTest.java | 4 +-
.../camel/component/file/GenericFileEndpoint.java | 3 +-
.../hystrix/processor/HystrixReifier.java | 3 +-
.../apache/camel/component/log/LogEndpoint.java | 3 +-
.../camel/opentracing/OpenTracingTracer.java | 3 +-
.../reactive/streams/ReactiveStreamsHelper.java | 3 +-
.../camel/component/rest/RestApiEndpoint.java | 3 +-
.../apache/camel/component/rest/RestEndpoint.java | 3 +-
.../component/salesforce/SalesforceComponent.java | 3 +-
.../apache/camel/component/seda/SedaEndpoint.java | 3 +-
.../camel/spring/boot/CamelAutoConfiguration.java | 19 +-
.../spring/boot/LogListenerDiscoveryTest.java | 3 +-
.../DefaultPackageResolverConfigureTest.java | 3 +-
.../camel/test/spring/CamelAnnotationsHandler.java | 6 +-
.../test/spring/CamelSpringTestContextLoader.java | 5 +-
.../apache/camel/test/junit4/CamelTestSupport.java | 5 +-
.../main/java/org/apache/camel/CamelContext.java | 284 +------------------
.../org/apache/camel/ExtendedCamelContext.java | 308 +++++++++++++++++++++
.../impl/converter/BaseTypeConverterRegistry.java | 3 +-
.../camel/impl/engine/AbstractCamelContext.java | 5 +-
.../camel/impl/engine/AbstractDynamicRegistry.java | 5 +-
.../impl/engine/BeanProcessorFactoryResolver.java | 3 +-
.../impl/engine/BeanProxyFactoryResolver.java | 3 +-
.../impl/engine/DefaultComponentResolver.java | 3 +-
.../impl/engine/DefaultDataFormatResolver.java | 3 +-
.../apache/camel/impl/engine/DefaultInjector.java | 3 +-
.../camel/impl/engine/DefaultLanguageResolver.java | 5 +-
.../camel/impl/engine/DefaultNodeIdFactory.java | 1 -
.../camel/impl/engine/DefaultProcessorFactory.java | 5 +-
.../impl/engine/HeadersMapFactoryResolver.java | 3 +-
.../impl/engine/RestRegistryFactoryResolver.java | 3 +-
.../impl/engine/SubscribeMethodProcessor.java | 4 +-
.../camel/processor/CamelInternalProcessor.java | 3 +-
.../camel/processor/SendDynamicAwareResolver.java | 3 +-
.../processor/SharedCamelInternalProcessor.java | 3 +-
.../camel/processor/interceptor/HandleFault.java | 3 +-
.../impl/cloud/DefaultServiceCallProcessor.java | 3 +-
.../impl/cloud/ServiceCallProcessorFactory.java | 3 +-
.../camel/core/osgi/utils/BundleContextUtils.java | 26 --
.../core/xml/AbstractCamelContextFactoryBean.java | 35 +--
.../camel/builder/AdviceWithRouteBuilder.java | 7 +-
.../camel/builder/ErrorHandlerBuilderRef.java | 3 +-
.../org/apache/camel/builder/ProxyBuilder.java | 3 +-
.../org/apache/camel/builder/RouteBuilder.java | 5 +-
.../camel/impl/CamelPostProcessorHelper.java | 5 +-
.../camel/impl/DefaultExecutorServiceManager.java | 5 +-
.../java/org/apache/camel/impl/DefaultModel.java | 3 +-
.../org/apache/camel/impl/DefaultRouteContext.java | 5 +-
.../apache/camel/impl/ReloadStrategySupport.java | 3 +-
.../java/org/apache/camel/impl/RouteService.java | 3 +-
.../java/org/apache/camel/main/MainSupport.java | 21 +-
.../java/org/apache/camel/model/ModelHelper.java | 3 +-
.../model/RestContextRefDefinitionHelper.java | 3 +-
.../model/RouteContextRefDefinitionHelper.java | 3 +-
.../apache/camel/model/RouteDefinitionHelper.java | 9 +-
.../cloud/ServiceCallExpressionConfiguration.java | 3 +-
.../ServiceCallServiceChooserConfiguration.java | 3 +-
.../ServiceCallServiceDiscoveryConfiguration.java | 3 +-
.../ServiceCallServiceFilterConfiguration.java | 3 +-
...erviceCallServiceLoadBalancerConfiguration.java | 3 +-
.../apache/camel/model/rest/RestDefinition.java | 3 +-
.../errorhandler/RedeliveryErrorHandler.java | 5 +-
.../java/org/apache/camel/reifier/BeanReifier.java | 3 +-
.../reifier/InterceptSendToEndpointReifier.java | 3 +-
.../java/org/apache/camel/reifier/LogReifier.java | 3 +-
.../org/apache/camel/reifier/ProcessorReifier.java | 22 +-
.../org/apache/camel/reifier/RouteReifier.java | 5 +-
.../java/org/apache/camel/reifier/StepReifier.java | 3 +-
.../camel/builder/ContextErrorHandlerTest.java | 3 +-
.../camel/builder/ErrorHandlerBuilderRefTest.java | 3 +-
.../camel/component/ComponentDiscoveryTest.java | 60 ----
.../camel/component/log/LogListenerTest.java | 3 +-
.../camel/impl/BeanInjectRouteBuilderTest.java | 3 +-
.../CamelContextAddRestDefinitionsFromXmlTest.java | 3 +-
...CamelContextAddRouteDefinitionsFromXmlTest.java | 3 +-
.../CamelProduceInterfaceEventNotifierTest.java | 3 +-
.../org/apache/camel/impl/CustomIdFactoryTest.java | 7 +-
.../camel/impl/CustomUnitOfWorkFactoryTest.java | 3 +-
.../impl/DefaultCamelBeanPostProcessorTest.java | 3 +-
...erceptSendToMockEndpointStrategyCustomTest.java | 3 +-
.../InterceptSendToMockEndpointStrategyTest.java | 5 +-
.../camel/impl/model/RouteIdFactoryTest.java | 3 +-
.../issues/AdviceWithStartTargetIssueTest.java | 3 +-
...ScopedOnExceptionMultipleRouteBuildersTest.java | 3 +-
.../issues/DynamicRouterWithInterceptorTest.java | 3 +-
.../issues/OnExceptionContinuedIssueTest.java | 3 +-
.../issues/RecipientListWithInterceptorTest.java | 3 +-
...ScopedOnExceptionMultipleRouteBuildersTest.java | 3 +-
.../issues/RoutingSlipWithInterceptorTest.java | 3 +-
.../camel/issues/SplitWithInterceptorTest.java | 3 +-
...ryCatchInterceptSendToAllEndpointIssueTest.java | 3 +-
.../apache/camel/issues/TwoTimerWithJMXIssue.java | 3 +-
.../processor/CustomProcessorFactoryTest.java | 3 +-
.../camel/processor/FaultRetryRouteTest.java | 3 +-
.../org/apache/camel/processor/FaultRouteTest.java | 3 +-
.../apache/camel/processor/LogEipListenerTest.java | 3 +-
.../camel/processor/PipelineStepWithEventTest.java | 3 +-
.../AsyncEndpointCustomAsyncInterceptorTest.java | 3 +-
.../async/AsyncEndpointCustomInterceptorTest.java | 3 +-
.../processor/async/AsyncEndpointPolicyTest.java | 3 +-
.../AsyncProcessorAwaitManagerInterruptTest.java | 17 +-
...sorAwaitManagerInterruptWithRedeliveryTest.java | 17 +-
.../async/AsyncProcessorAwaitManagerTest.java | 15 +-
.../ParentChildInterceptStrategyTest.java | 3 +-
.../AuditInterceptorAsyncDelegateIssueTest.java | 3 +-
.../AuditInterceptorDelegateIssueTest.java | 3 +-
.../CustomInterceptorRouteWithChildOutputTest.java | 3 +-
.../InterceptorStrategyNotOrderedTest.java | 5 +-
.../InterceptorStrategyOrderedTest.java | 5 +-
.../camel/management/DefaultManagementAgent.java | 3 +-
.../management/JmxManagementLifecycleStrategy.java | 3 +-
.../management/mbean/ManagedCamelContext.java | 3 +-
.../camel/management/mbean/ManagedProcessor.java | 5 +-
.../apache/camel/support/AsyncProcessorHelper.java | 3 +-
.../camel/support/AsyncProcessorSupport.java | 3 +-
.../apache/camel/support/CamelContextHelper.java | 124 +--------
.../apache/camel/support/DefaultAsyncProducer.java | 3 +-
.../org/apache/camel/support/DefaultConsumer.java | 3 +-
.../modules/ROOT/pages/delay-interceptor.adoc | 14 +-
.../commands/AbstractLocalCamelController.java | 24 +-
.../components-starter/camel-jira-starter/pom.xml | 8 +
.../itest/issues/IntercepFromAndStrategyTest.java | 3 +-
127 files changed, 668 insertions(+), 720 deletions(-)
diff --git a/MIGRATION.md b/MIGRATION.md
index c8766a8..4ff7b5d 100644
--- a/MIGRATION.md
+++ b/MIGRATION.md
@@ -21,6 +21,7 @@ In Camel 2.x camel-core was one JAR file, which now has been splitup into many J
- camel-caffeine-lrucache
- camel-cloud
- camel-core
+- camel-jaxp
- camel-management-api
- camel-management-impl
- camel-support
@@ -155,6 +156,12 @@ In Camel 2.x we have deprecated `getProperties` on `CamelContext` in favour of `
</globalOptions>
+### Extended CamelContext
+
+The APIs on `CamelContext` has been reducded a bit to focus on relevant API for Camel end users. The advanced use-cases and for SPI and component developers, then some of the APIs from `CamelContext` has been moved to `ExtendedCamelContext` which you can access via adapt:
+
+ ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
+
### Main class
The `Main` class from `camel-core`, `camel-spring` and `camel-cdi` has been modified to only support a single `CamelContext` which was really its intention, but there was some old crufy code for multiple Camels. The method `getCamelContextMap` has been removed, and there is just a `getCamelContext` method now.
diff --git a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java
index 4093aab..9b07b73 100644
--- a/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java
+++ b/components/camel-aws-xray/src/main/java/org/apache/camel/component/aws/xray/XRayTracer.java
@@ -34,6 +34,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
@@ -131,7 +132,7 @@ public class XRayTracer extends ServiceSupport implements RoutePolicyFactory, St
tracingStrategy = new NoopTracingStrategy();
}
- camelContext.addInterceptStrategy(tracingStrategy);
+ camelContext.adapt(ExtendedCamelContext.class).addInterceptStrategy(tracingStrategy);
log.debug("Starting XRay tracer");
}
diff --git a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
index 8a7a443..8296fe9 100644
--- a/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
+++ b/components/camel-bean/src/main/java/org/apache/camel/component/bean/MethodInfo.java
@@ -38,6 +38,7 @@ import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Expression;
import org.apache.camel.ExpressionEvaluationException;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Message;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.Pattern;
@@ -56,7 +57,6 @@ import org.slf4j.LoggerFactory;
import static org.apache.camel.util.ObjectHelper.asString;
-
/**
* Information about a method to be used for invocation.
*/
@@ -124,7 +124,7 @@ public class MethodInfo {
org.apache.camel.RoutingSlip routingSlipAnnotation =
(org.apache.camel.RoutingSlip)collectedMethodAnnotation.get(org.apache.camel.RoutingSlip.class);
if (routingSlipAnnotation != null && matchContext(routingSlipAnnotation.context())) {
- routingSlip = camelContext.getAnnotationBasedProcessorFactory().createRoutingSlip(camelContext, routingSlipAnnotation);
+ routingSlip = camelContext.adapt(ExtendedCamelContext.class).getAnnotationBasedProcessorFactory().createRoutingSlip(camelContext, routingSlipAnnotation);
// add created routingSlip as a service so we have its lifecycle managed
try {
camelContext.addService(routingSlip);
@@ -137,7 +137,7 @@ public class MethodInfo {
(org.apache.camel.DynamicRouter)collectedMethodAnnotation.get(org.apache.camel.DynamicRouter.class);
if (dynamicRouterAnnotation != null
&& matchContext(dynamicRouterAnnotation.context())) {
- dynamicRouter = camelContext.getAnnotationBasedProcessorFactory().createDynamicRouter(camelContext, dynamicRouterAnnotation);
+ dynamicRouter = camelContext.adapt(ExtendedCamelContext.class).getAnnotationBasedProcessorFactory().createDynamicRouter(camelContext, dynamicRouterAnnotation);
// add created dynamicRouter as a service so we have its lifecycle managed
try {
camelContext.addService(dynamicRouter);
@@ -150,7 +150,7 @@ public class MethodInfo {
(org.apache.camel.RecipientList)collectedMethodAnnotation.get(org.apache.camel.RecipientList.class);
if (recipientListAnnotation != null
&& matchContext(recipientListAnnotation.context())) {
- recipientList = camelContext.getAnnotationBasedProcessorFactory().createRecipientList(camelContext, recipientListAnnotation);
+ recipientList = camelContext.adapt(ExtendedCamelContext.class).getAnnotationBasedProcessorFactory().createRecipientList(camelContext, recipientListAnnotation);
// add created recipientList as a service so we have its lifecycle managed
try {
camelContext.addService(recipientList);
diff --git a/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java b/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java
index 51b8848..0192c08 100644
--- a/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java
+++ b/components/camel-bean/src/main/java/org/apache/camel/component/bean/ProxyHelper.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.bean;
import java.lang.reflect.Proxy;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Producer;
/**
@@ -51,7 +52,7 @@ public final class ProxyHelper {
* Creates a Proxy which sends the exchange to the endpoint.
*/
public static <T> T createProxy(Endpoint endpoint, boolean binding, ClassLoader cl, Class<T>[] interfaceClasses, MethodInfoCache methodCache) throws Exception {
- Producer producer = endpoint.getCamelContext().getDeferServiceFactory().createProducer(endpoint);
+ Producer producer = endpoint.getCamelContext().adapt(ExtendedCamelContext.class).getDeferServiceFactory().createProducer(endpoint);
return createProxyObject(endpoint, binding, producer, cl, interfaceClasses, methodCache);
}
diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/NoTCCLSetTest.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/NoTCCLSetTest.java
index 1ce1b07..fd0f04c 100644
--- a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/NoTCCLSetTest.java
+++ b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/NoTCCLSetTest.java
@@ -22,6 +22,7 @@ import javax.enterprise.event.Observes;
import javax.inject.Inject;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.cdi.CdiCamelConfiguration;
import org.apache.camel.cdi.CdiCamelExtension;
import org.jboss.arquillian.container.test.api.Deployment;
@@ -54,7 +55,7 @@ public class NoTCCLSetTest {
@Test
public void verifyNoTCCLFallbackClassLoader() {
assertThat(camelContext, is(notNullValue()));
- Set<ClassLoader> classLoaders = camelContext.getPackageScanClassResolver().getClassLoaders();
+ Set<ClassLoader> classLoaders = camelContext.adapt(ExtendedCamelContext.class).getPackageScanClassResolver().getClassLoaders();
assertThat(classLoaders.size(), is(1));
assertThat(classLoaders.iterator().next(), is(CamelContext.class.getClassLoader()));
}
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterCXFMessageRouterTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterCXFMessageRouterTest.java
index bb78553..daeb941 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterCXFMessageRouterTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfGreeterCXFMessageRouterTest.java
@@ -18,7 +18,6 @@ package org.apache.camel.component.cxf;
import javax.xml.ws.Endpoint;
-import org.apache.camel.builder.NoErrorHandlerBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.hello_world_soap_http.GreeterImpl;
import org.junit.AfterClass;
@@ -48,7 +47,8 @@ public class CxfGreeterCXFMessageRouterTest extends AbstractCXFGreeterRouterTest
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
- context.setErrorHandlerFactory(new NoErrorHandlerBuilder());
+ errorHandler(noErrorHandler());
+
from("cxf:bean:routerEndpoint?dataFormat=CXF_MESSAGE&publishedEndpointUrl=http://www.simple.com/services/test")
.to("cxf:bean:serviceEndpoint?dataFormat=CXF_MESSAGE");
}
diff --git a/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java b/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
index f326ed9..01cd8f9 100644
--- a/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
+++ b/components/camel-file/src/main/java/org/apache/camel/component/file/GenericFileEndpoint.java
@@ -32,6 +32,7 @@ import org.apache.camel.Component;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
import org.apache.camel.ExpressionIllegalSyntaxException;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.Message;
import org.apache.camel.Predicate;
@@ -274,7 +275,7 @@ public abstract class GenericFileEndpoint<T> extends ScheduledPollEndpoint imple
protected GenericFileProcessStrategy<T> createGenericFileStrategy() {
Class<?> factory = null;
try {
- FactoryFinder finder = getCamelContext().getFactoryFinder("META-INF/services/org/apache/camel/component/");
+ FactoryFinder finder = getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder("META-INF/services/org/apache/camel/component/");
log.trace("Using FactoryFinder: {}", finder);
factory = finder.findClass(getScheme(), "strategy.factory.", CamelContext.class);
} catch (ClassNotFoundException e) {
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 5cb2a1d..a0d2981 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
@@ -27,6 +27,7 @@ import com.netflix.hystrix.HystrixCommandProperties;
import com.netflix.hystrix.HystrixThreadPoolKey;
import com.netflix.hystrix.HystrixThreadPoolProperties;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.model.HystrixConfigurationDefinition;
import org.apache.camel.model.HystrixDefinition;
@@ -55,7 +56,7 @@ public class HystrixReifier extends ProcessorReifier<HystrixDefinition> {
}
final HystrixConfigurationDefinition config = buildHystrixConfiguration(routeContext.getCamelContext());
- final String id = definition.idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
+ final String id = definition.idOrCreate(routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getNodeIdFactory());
// group and thread pool keys to use they can be configured on configRef and config, so look there first, and if none then use default
String groupKey = config.getGroupKey();
diff --git a/components/camel-log/src/main/java/org/apache/camel/component/log/LogEndpoint.java b/components/camel-log/src/main/java/org/apache/camel/component/log/LogEndpoint.java
index d59449f..5c53d5d 100644
--- a/components/camel-log/src/main/java/org/apache/camel/component/log/LogEndpoint.java
+++ b/components/camel-log/src/main/java/org/apache/camel/component/log/LogEndpoint.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.log;
import org.apache.camel.Component;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
@@ -140,7 +141,7 @@ public class LogEndpoint extends ProcessorEndpoint {
Long groupDelay = getGroupDelay();
answer = new ThroughputLogger(camelLogger, this.getCamelContext(), getGroupInterval(), groupDelay, groupActiveOnly);
} else {
- answer = new CamelLogProcessor(camelLogger, localFormatter, getMaskingFormatter(), getCamelContext().getLogListeners());
+ answer = new CamelLogProcessor(camelLogger, localFormatter, getMaskingFormatter(), getCamelContext().adapt(ExtendedCamelContext.class).getLogListeners());
}
// the logger is the processor
setProcessor(answer);
diff --git a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
index 3795cac..b336c14 100644
--- a/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
+++ b/components/camel-opentracing/src/main/java/org/apache/camel/opentracing/OpenTracingTracer.java
@@ -33,6 +33,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Route;
import org.apache.camel.RuntimeCamelException;
@@ -168,7 +169,7 @@ public class OpenTracingTracer extends ServiceSupport implements RoutePolicyFact
if (!camelContext.getRoutePolicyFactories().contains(this)) {
camelContext.addRoutePolicyFactory(this);
}
- camelContext.addLogListener(logListener);
+ camelContext.adapt(ExtendedCamelContext.class).addLogListener(logListener);
if (tracer == null) {
Set<Tracer> tracers = camelContext.getRegistry().findByType(Tracer.class);
diff --git a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsHelper.java b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsHelper.java
index 4083691..40f7b54 100644
--- a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsHelper.java
+++ b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsHelper.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.reactive.streams;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsService;
import org.apache.camel.component.reactive.streams.api.CamelReactiveStreamsServiceFactory;
import org.apache.camel.component.reactive.streams.api.DispatchCallback;
@@ -112,7 +113,7 @@ public final class ReactiveStreamsHelper {
@SuppressWarnings("unchecked")
public static CamelReactiveStreamsServiceFactory resolveServiceFactory(CamelContext context, String serviceType) {
try {
- FactoryFinder finder = context.getFactoryFinder(ReactiveStreamsConstants.SERVICE_PATH);
+ FactoryFinder finder = context.adapt(ExtendedCamelContext.class).getFactoryFinder(ReactiveStreamsConstants.SERVICE_PATH);
Class<?> serviceClass = finder.findClass(serviceType);
return (CamelReactiveStreamsServiceFactory)context.getInjector().newInstance(serviceClass);
diff --git a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
index 4d39bea..410b63f 100644
--- a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
+++ b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java
@@ -22,6 +22,7 @@ import java.util.Set;
import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.ExchangePattern;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.NoSuchBeanException;
import org.apache.camel.Processor;
@@ -147,7 +148,7 @@ public class RestApiEndpoint extends DefaultEndpoint {
name = DEFAULT_API_COMPONENT_NAME;
}
try {
- FactoryFinder finder = getCamelContext().getFactoryFinder(RESOURCE_PATH);
+ FactoryFinder finder = getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
Object instance = finder.newInstance(name);
if (instance instanceof RestApiProcessorFactory) {
factory = (RestApiProcessorFactory) instance;
diff --git a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
index 44a5792..414716b 100644
--- a/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
+++ b/components/camel-rest/src/main/java/org/apache/camel/component/rest/RestEndpoint.java
@@ -22,6 +22,7 @@ import java.util.Set;
import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.ExchangePattern;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.NoSuchBeanException;
import org.apache.camel.Processor;
@@ -284,7 +285,7 @@ public class RestEndpoint extends DefaultEndpoint {
log.debug("Discovering camel-swagger-java on classpath for using api-doc: {}", apiDoc);
// lookup on classpath using factory finder to automatic find it (just add camel-swagger-java to classpath etc)
try {
- FactoryFinder finder = getCamelContext().getFactoryFinder(RESOURCE_PATH);
+ FactoryFinder finder = getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
Object instance = finder.newInstance(DEFAULT_API_COMPONENT_NAME);
if (instance instanceof RestProducerFactory) {
// this factory from camel-swagger-java will facade the http component in use
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
index 328306a..cd0d9f0 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
@@ -27,6 +27,7 @@ import java.util.regex.Pattern;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.SSLContextParametersAware;
import org.apache.camel.TypeConverter;
import org.apache.camel.component.salesforce.api.SalesforceException;
@@ -288,7 +289,7 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
private Map<String, Class<?>> parsePackages() {
Map<String, Class<?>> result = new HashMap<>();
- Set<Class<?>> classes = getCamelContext().getPackageScanClassResolver().
+ Set<Class<?>> classes = getCamelContext().adapt(ExtendedCamelContext.class).getPackageScanClassResolver().
findImplementations(AbstractSObjectBase.class, packages);
for (Class<?> aClass : classes) {
// findImplementations also returns AbstractSObjectBase for some reason!!!
diff --git a/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java b/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
index 783f8f2..54507a2 100644
--- a/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
+++ b/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
@@ -29,6 +29,7 @@ import org.apache.camel.AsyncProcessor;
import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.MultipleConsumersSupport;
import org.apache.camel.PollingConsumer;
import org.apache.camel.Processor;
@@ -235,7 +236,7 @@ public class SedaEndpoint extends DefaultEndpoint implements AsyncEndpoint, Brow
}
// create multicast processor
multicastStarted = false;
- consumerMulticastProcessor = getCamelContext().createMulticast(processors, multicastExecutor, false);
+ consumerMulticastProcessor = getCamelContext().adapt(ExtendedCamelContext.class).createMulticast(processors, multicastExecutor, false);
}
}
diff --git a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
index 8ec9f2a..4ef98a2 100644
--- a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
+++ b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/CamelAutoConfiguration.java
@@ -28,6 +28,7 @@ import java.util.function.Predicate;
import org.apache.camel.CamelContext;
import org.apache.camel.ConsumerTemplate;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.FluentProducerTemplate;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.TypeConverters;
@@ -216,7 +217,7 @@ public class CamelAutoConfiguration {
camelContext.getManagementStrategy().getManagementAgent().setCreateConnector(config.isJmxCreateConnector());
}
- camelContext.setPackageScanClassResolver(new FatJarPackageScanClassResolver());
+ camelContext.adapt(ExtendedCamelContext.class).setPackageScanClassResolver(new FatJarPackageScanClassResolver());
// tracing
camelContext.setTracing(config.isTracing());
@@ -351,13 +352,13 @@ public class CamelAutoConfiguration {
final ManagementStrategy managementStrategy = camelContext.getManagementStrategy();
registerPropertyForBeanType(applicationContext, BacklogTracer.class, bt -> camelContext.setExtension(BacklogTracer.class, bt));
- registerPropertyForBeanType(applicationContext, HandleFault.class, camelContext::addInterceptStrategy);
+ registerPropertyForBeanType(applicationContext, HandleFault.class, camelContext.adapt(ExtendedCamelContext.class)::addInterceptStrategy);
registerPropertyForBeanType(applicationContext, InflightRepository.class, camelContext::setInflightRepository);
- registerPropertyForBeanType(applicationContext, AsyncProcessorAwaitManager.class, camelContext::setAsyncProcessorAwaitManager);
+ registerPropertyForBeanType(applicationContext, AsyncProcessorAwaitManager.class, camelContext.adapt(ExtendedCamelContext.class)::setAsyncProcessorAwaitManager);
registerPropertyForBeanType(applicationContext, ManagementStrategy.class, camelContext::setManagementStrategy);
registerPropertyForBeanType(applicationContext, ManagementObjectNameStrategy.class, managementStrategy::setManagementObjectNameStrategy);
registerPropertyForBeanType(applicationContext, EventFactory.class, managementStrategy::setEventFactory);
- registerPropertyForBeanType(applicationContext, UnitOfWorkFactory.class, camelContext::setUnitOfWorkFactory);
+ registerPropertyForBeanType(applicationContext, UnitOfWorkFactory.class, camelContext.adapt(ExtendedCamelContext.class)::setUnitOfWorkFactory);
registerPropertyForBeanType(applicationContext, RuntimeEndpointRegistry.class, camelContext::setRuntimeEndpointRegistry);
registerPropertiesForBeanTypes(applicationContext, TypeConverters.class, camelContext.getTypeConverterRegistry()::addTypeConverters);
@@ -365,12 +366,12 @@ public class CamelAutoConfiguration {
final Predicate<EventNotifier> containsEventNotifier = managementStrategy.getEventNotifiers()::contains;
registerPropertiesForBeanTypesWithCondition(applicationContext, EventNotifier.class, containsEventNotifier.negate(), managementStrategy::addEventNotifier);
- registerPropertiesForBeanTypes(applicationContext, EndpointStrategy.class, camelContext::addRegisterEndpointCallback);
+ registerPropertiesForBeanTypes(applicationContext, EndpointStrategy.class, camelContext.adapt(ExtendedCamelContext.class)::registerEndpointCallback);
registerPropertyForBeanType(applicationContext, ShutdownStrategy.class, camelContext::setShutdownStrategy);
- final Predicate<InterceptStrategy> containsInterceptStrategy = camelContext.getInterceptStrategies()::contains;
- registerPropertiesForBeanTypesWithCondition(applicationContext, InterceptStrategy.class, containsInterceptStrategy.negate(), camelContext::addInterceptStrategy);
+ final Predicate<InterceptStrategy> containsInterceptStrategy = camelContext.adapt(ExtendedCamelContext.class).getInterceptStrategies()::contains;
+ registerPropertiesForBeanTypesWithCondition(applicationContext, InterceptStrategy.class, containsInterceptStrategy.negate(), camelContext.adapt(ExtendedCamelContext.class)::addInterceptStrategy);
final Predicate<LifecycleStrategy> containsLifecycleStrategy = camelContext.getLifecycleStrategies()::contains;
registerPropertiesForBeanTypesWithCondition(applicationContext, LifecycleStrategy.class, containsLifecycleStrategy.negate(), camelContext::addLifecycleStrategy);
@@ -416,8 +417,8 @@ public class CamelAutoConfiguration {
registerPropertyForBeanType(applicationContext, RouteController.class, camelContext::setRouteController);
registerPropertyForBeanType(applicationContext, UuidGenerator.class, camelContext::setUuidGenerator);
- final Predicate<LogListener> containsLogListener = camelContext.getLogListeners()::contains;
- registerPropertiesForBeanTypesWithCondition(applicationContext, LogListener.class, containsLogListener.negate(), camelContext::addLogListener);
+ final Predicate<LogListener> containsLogListener = camelContext.adapt(ExtendedCamelContext.class).getLogListeners()::contains;
+ registerPropertiesForBeanTypesWithCondition(applicationContext, LogListener.class, containsLogListener.negate(), camelContext.adapt(ExtendedCamelContext.class)::addLogListener);
registerPropertyForBeanType(applicationContext, ExecutorServiceManager.class, camelContext::setExecutorServiceManager);
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/LogListenerDiscoveryTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/LogListenerDiscoveryTest.java
index 3cda2f9..6040e8f 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/LogListenerDiscoveryTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/LogListenerDiscoveryTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.spring.boot;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.CamelLogger;
import org.apache.camel.spi.LogListener;
import org.junit.Test;
@@ -46,7 +47,7 @@ public class LogListenerDiscoveryTest {
@Test
public void testUuidDiscovery() {
- assertThat(camelContext.getLogListeners()).contains(logListener);
+ assertThat(camelContext.adapt(ExtendedCamelContext.class).getLogListeners()).contains(logListener);
}
@Component
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/config/DefaultPackageResolverConfigureTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/config/DefaultPackageResolverConfigureTest.java
index 774815c..2757650 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/config/DefaultPackageResolverConfigureTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/config/DefaultPackageResolverConfigureTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.spring.config;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.impl.engine.DefaultPackageScanClassResolver;
import org.apache.camel.spring.SpringTestSupport;
import org.junit.Test;
@@ -30,7 +31,7 @@ public class DefaultPackageResolverConfigureTest extends SpringTestSupport {
@Test
public void testSetAcceptableSchema() throws Exception {
- DefaultPackageScanClassResolver resolver = (DefaultPackageScanClassResolver)context.getPackageScanClassResolver();
+ DefaultPackageScanClassResolver resolver = (DefaultPackageScanClassResolver)context.adapt(ExtendedCamelContext.class).getPackageScanClassResolver();
assertNotNull(resolver);
// just check the accept schema
assertTrue("We should accept the test:!", resolver.isAcceptableScheme("test://test"));
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java
index ca57e89..d28eb14 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelAnnotationsHandler.java
@@ -25,6 +25,7 @@ import java.util.Properties;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.api.management.JmxSystemPropertyKeys;
import org.apache.camel.api.management.ManagedCamelContext;
import org.apache.camel.api.management.mbean.ManagedCamelContextMBean;
@@ -54,7 +55,6 @@ public final class CamelAnnotationsHandler {
/**
* Handles @ExcludeRoutes to make it easier to exclude other routes when testing with Spring Boot.
*
- * @param context the initialized Spring context
* @param testClass the test class being executed
*/
public static void handleExcludeRoutesForSpringBoot(Class<?> testClass) {
@@ -247,7 +247,7 @@ public final class CamelAnnotationsHandler {
public void execute(String contextName, SpringCamelContext camelContext)
throws Exception {
LOGGER.info("Enabling auto mocking of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpoints, contextName);
- camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpoints));
+ camelContext.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpoints));
}
});
}
@@ -270,7 +270,7 @@ public final class CamelAnnotationsHandler {
// resolve the property place holders of the mockEndpoints
String mockEndpointsValue = camelContext.resolvePropertyPlaceholders(mockEndpoints);
LOGGER.info("Enabling auto mocking and skipping of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpointsValue, contextName);
- camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpointsValue, true));
+ camelContext.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpointsValue, true));
}
});
}
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java
index 3548068..df4d626 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringTestContextLoader.java
@@ -27,6 +27,7 @@ import java.util.Properties;
import java.util.concurrent.TimeUnit;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.api.management.JmxSystemPropertyKeys;
import org.apache.camel.impl.engine.InterceptSendToMockEndpointStrategy;
import org.apache.camel.processor.interceptor.DefaultDebugger;
@@ -407,7 +408,7 @@ public class CamelSpringTestContextLoader extends AbstractContextLoader {
public void execute(String contextName, SpringCamelContext camelContext)
throws Exception {
LOG.info("Enabling auto mocking of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpoints, contextName);
- camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpoints));
+ camelContext.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpoints));
}
});
}
@@ -431,7 +432,7 @@ public class CamelSpringTestContextLoader extends AbstractContextLoader {
// resovle the property place holders of the mockEndpoints
String mockEndpointsValue = camelContext.resolvePropertyPlaceholders(mockEndpoints);
LOG.info("Enabling auto mocking and skipping of endpoints matching pattern [{}] on CamelContext with name [{}].", mockEndpointsValue, contextName);
- camelContext.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpointsValue, true));
+ camelContext.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(mockEndpointsValue, true));
}
});
}
diff --git a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
index 4f67f3e..d74f0ab 100644
--- a/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
+++ b/components/camel-test/src/main/java/org/apache/camel/test/junit4/CamelTestSupport.java
@@ -50,6 +50,7 @@ import org.apache.camel.ConsumerTemplate;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.FluentProducerTemplate;
import org.apache.camel.Message;
import org.apache.camel.NamedNode;
@@ -364,11 +365,11 @@ public abstract class CamelTestSupport extends TestSupport {
// enable auto mocking if enabled
String pattern = isMockEndpoints();
if (pattern != null) {
- context.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(pattern));
+ context.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(pattern));
}
pattern = isMockEndpointsAndSkip();
if (pattern != null) {
- context.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(pattern, true));
+ context.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(pattern, true));
}
// configure properties component (mandatory for testing)
diff --git a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
index 5712d40..32695cf 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CamelContext.java
@@ -20,41 +20,22 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ScheduledExecutorService;
-
-import org.apache.camel.spi.AnnotationBasedProcessorFactory;
-import org.apache.camel.spi.AsyncProcessorAwaitManager;
-import org.apache.camel.spi.BeanProcessorFactory;
-import org.apache.camel.spi.BeanProxyFactory;
-import org.apache.camel.spi.CamelBeanPostProcessor;
+
import org.apache.camel.spi.CamelContextNameStrategy;
import org.apache.camel.spi.ClassResolver;
import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.DataFormatResolver;
import org.apache.camel.spi.DataType;
import org.apache.camel.spi.Debugger;
-import org.apache.camel.spi.DeferServiceFactory;
import org.apache.camel.spi.EndpointRegistry;
-import org.apache.camel.spi.EndpointStrategy;
import org.apache.camel.spi.ExecutorServiceManager;
-import org.apache.camel.spi.FactoryFinder;
-import org.apache.camel.spi.FactoryFinderResolver;
import org.apache.camel.spi.HeadersMapFactory;
import org.apache.camel.spi.InflightRepository;
import org.apache.camel.spi.Injector;
-import org.apache.camel.spi.InterceptStrategy;
import org.apache.camel.spi.Language;
import org.apache.camel.spi.LifecycleStrategy;
-import org.apache.camel.spi.LogListener;
-import org.apache.camel.spi.ManagementMBeanAssembler;
import org.apache.camel.spi.ManagementNameStrategy;
import org.apache.camel.spi.ManagementStrategy;
import org.apache.camel.spi.MessageHistoryFactory;
-import org.apache.camel.spi.ModelJAXBContextFactory;
-import org.apache.camel.spi.NodeIdFactory;
-import org.apache.camel.spi.PackageScanClassResolver;
-import org.apache.camel.spi.ProcessorFactory;
import org.apache.camel.spi.PropertiesComponent;
import org.apache.camel.spi.Registry;
import org.apache.camel.spi.ReloadStrategy;
@@ -62,14 +43,12 @@ import org.apache.camel.spi.RestConfiguration;
import org.apache.camel.spi.RestRegistry;
import org.apache.camel.spi.RouteController;
import org.apache.camel.spi.RoutePolicyFactory;
-import org.apache.camel.spi.RouteStartupOrder;
import org.apache.camel.spi.RuntimeEndpointRegistry;
import org.apache.camel.spi.ShutdownStrategy;
import org.apache.camel.spi.StreamCachingStrategy;
import org.apache.camel.spi.Transformer;
import org.apache.camel.spi.TransformerRegistry;
import org.apache.camel.spi.TypeConverterRegistry;
-import org.apache.camel.spi.UnitOfWorkFactory;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.Validator;
import org.apache.camel.spi.ValidatorRegistry;
@@ -97,6 +76,8 @@ import org.apache.camel.support.jsse.SSLContextParameters;
* <p/>
* End users are advised to use suspend/resume. Using stop is for shutting down Camel and it's not guaranteed that
* when it's being started again using the start method that Camel will operate consistently.
+ * <p/>
+ * For more advanced APIs with {@link CamelContext} see {@link ExtendedCamelContext}, which you can obtain via the adapt method.
*/
public interface CamelContext extends StatefulService, RuntimeConfiguration {
@@ -477,10 +458,10 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
Endpoint hasEndpoint(String uri);
/**
- * Adds the endpoint to the {@link org.apache.camel.spi.EndpointRegistry} using the given URI.
+ * Adds and starts the endpoint to the {@link org.apache.camel.spi.EndpointRegistry} using the given URI.
*
* @param uri the URI to be used to resolve this endpoint
- * @param endpoint the endpoint to be added to the registry
+ * @param endpoint the endpoint to be started and added to the registry
* @return the old endpoint that was previously registered or <tt>null</tt> if none was registered
* @throws Exception if the new endpoint could not be started or the old endpoint could not be stopped
*/
@@ -508,16 +489,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
*/
Collection<Endpoint> removeEndpoints(String pattern) throws Exception;
- /**
- * Registers a {@link org.apache.camel.spi.EndpointStrategy callback} to allow you to do custom
- * logic when an {@link Endpoint} is about to be registered to the {@link org.apache.camel.spi.EndpointRegistry}.
- * <p/>
- * When a callback is added it will be executed on the already registered endpoints allowing you to catch-up
- *
- * @param strategy callback to be invoked
- */
- void addRegisterEndpointCallback(EndpointStrategy strategy);
-
// Route Management Methods
//-----------------------------------------------------------------------
@@ -572,16 +543,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
Collection<RestConfiguration> getRestConfigurations();
/**
- * Returns the order in which the route inputs was started.
- * <p/>
- * The order may not be according to the startupOrder defined on the route.
- * For example a route could be started manually later, or new routes added at runtime.
- *
- * @return a list in the order how routes was started
- */
- List<RouteStartupOrder> getRouteStartupOrder();
-
- /**
* Returns the current routes in this CamelContext
*
* @return the current routes
@@ -654,29 +615,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
*/
boolean removeRoute(String routeId) throws Exception;
- /**
- * Method to signal to {@link CamelContext} that the process to initialize setup routes is in progress.
- *
- * @param done <tt>false</tt> to start the process, call again with <tt>true</tt> to signal its done.
- * @see #isSetupRoutes()
- */
- void setupRoutes(boolean done);
-
- /**
- * Indicates whether current thread is setting up route(s) as part of starting Camel from spring/blueprint.
- * <p/>
- * This can be useful to know by {@link LifecycleStrategy} or the likes, in case
- * they need to react differently.
- * <p/>
- * As the startup procedure of {@link CamelContext} is slightly different when using plain Java versus
- * Spring or Blueprint, then we need to know when Spring/Blueprint is setting up the routes, which
- * can happen after the {@link CamelContext} itself is in started state, due the asynchronous event nature
- * of especially Blueprint.
- *
- * @return <tt>true</tt> if current thread is setting up route(s), or <tt>false</tt> if not.
- */
- boolean isSetupRoutes();
-
// Properties
//-----------------------------------------------------------------------
@@ -725,20 +663,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
Injector getInjector();
/**
- * Returns the bean post processor used to do any bean customization.
- *
- * @return the bean post processor.
- */
- CamelBeanPostProcessor getBeanPostProcessor();
-
- /**
- * Returns the management mbean assembler
- *
- * @return the mbean assembler
- */
- ManagementMBeanAssembler getManagementMBeanAssembler();
-
- /**
* Returns the lifecycle strategies used to handle lifecycle notifications
*
* @return the lifecycle strategies
@@ -912,50 +836,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
ConsumerTemplate createConsumerTemplate(int maximumCacheSize);
/**
- * Creates a new multicast processor which sends an exchange to all the processors.
- *
- * @param processors the list of processors to send to
- * @param executor the executor to use
- * @return a multicasting processor
- */
- AsyncProcessor createMulticast(Collection<Processor> processors,
- ExecutorService executor, boolean shutdownExecutorService);
-
- /**
- * Adds the given interceptor strategy
- *
- * @param interceptStrategy the strategy
- */
- void addInterceptStrategy(InterceptStrategy interceptStrategy);
-
- /**
- * Gets the interceptor strategies
- *
- * @return the list of current interceptor strategies
- */
- List<InterceptStrategy> getInterceptStrategies();
-
- /**
- * Gets the default error handler builder which is inherited by the routes
- *
- * @return the builder
- */
- ErrorHandlerFactory getErrorHandlerFactory();
-
- /**
- * Sets the default error handler builder which is inherited by the routes
- *
- * @param errorHandlerFactory the builder
- */
- void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory);
-
- /**
- * Gets the default shared thread pool for error handlers which
- * leverages this for asynchronous redelivery tasks.
- */
- ScheduledExecutorService getErrorHandlerExecutorService();
-
- /**
* Resolve a data format given its name
*
* @param name the data format name or a reference to it in the {@link Registry}
@@ -972,20 +852,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
DataFormat createDataFormat(String name);
/**
- * Gets the current data format resolver
- *
- * @return the resolver
- */
- DataFormatResolver getDataFormatResolver();
-
- /**
- * Sets a custom data format resolver
- *
- * @param dataFormatResolver the resolver
- */
- void setDataFormatResolver(DataFormatResolver dataFormatResolver);
-
- /**
* Resolve a transformer given a scheme
*
* @param model data model name.
@@ -1059,29 +925,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
String getGlobalOption(String key);
/**
- * Gets the default FactoryFinder which will be used for the loading the factory class from META-INF
- *
- * @return the default factory finder
- */
- FactoryFinder getDefaultFactoryFinder();
-
- /**
- * Sets the factory finder resolver to use.
- *
- * @param resolver the factory finder resolver
- */
- void setFactoryFinderResolver(FactoryFinderResolver resolver);
-
- /**
- * Gets the FactoryFinder which will be used for the loading the factory class from META-INF in the given path
- *
- * @param path the META-INF path
- * @return the factory finder
- * @throws NoFactoryAvailableException is thrown if a factory could not be found
- */
- FactoryFinder getFactoryFinder(String path) throws NoFactoryAvailableException;
-
- /**
* Returns the class resolver to be used for loading/lookup of classes.
*
* @return the resolver
@@ -1096,34 +939,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
void setClassResolver(ClassResolver resolver);
/**
- * Returns the package scanning class resolver
- *
- * @return the resolver
- */
- PackageScanClassResolver getPackageScanClassResolver();
-
- /**
- * Sets the package scanning class resolver to use
- *
- * @param resolver the resolver
- */
- void setPackageScanClassResolver(PackageScanClassResolver resolver);
-
- /**
- * Uses a custom node id factory when generating auto assigned ids to the nodes in the route definitions
- *
- * @param factory custom factory to use
- */
- void setNodeIdFactory(NodeIdFactory factory);
-
- /**
- * Gets the node id factory
- *
- * @return the node id factory
- */
- NodeIdFactory getNodeIdFactory();
-
- /**
* Gets the management strategy
*
* @return the management strategy
@@ -1147,13 +962,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
void disableJMX() throws IllegalStateException;
/**
- * Setup management according to whether JMX is enabled or disabled.
- *
- * @param options optional parameters to configure {@link org.apache.camel.spi.ManagementAgent}.
- */
- void setupManagement(Map<String, Object> options);
-
- /**
* Gets the inflight repository
*
* @return the repository
@@ -1168,20 +976,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
void setInflightRepository(InflightRepository repository);
/**
- * Gets the {@link org.apache.camel.AsyncProcessor} await manager.
- *
- * @return the manager
- */
- AsyncProcessorAwaitManager getAsyncProcessorAwaitManager();
-
- /**
- * Sets a custom {@link org.apache.camel.AsyncProcessor} await manager.
- *
- * @param manager the manager
- */
- void setAsyncProcessorAwaitManager(AsyncProcessorAwaitManager manager);
-
- /**
* Gets the application CamelContext class loader which may be helpful for running camel in other containers
*
* @return the application CamelContext class loader
@@ -1224,20 +1018,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
void setExecutorServiceManager(ExecutorServiceManager executorServiceManager);
/**
- * Gets the current {@link org.apache.camel.spi.ProcessorFactory}
- *
- * @return the factory, can be <tt>null</tt> if no custom factory has been set
- */
- ProcessorFactory getProcessorFactory();
-
- /**
- * Sets a custom {@link org.apache.camel.spi.ProcessorFactory}
- *
- * @param processorFactory the custom factory
- */
- void setProcessorFactory(ProcessorFactory processorFactory);
-
- /**
* Gets the current {@link org.apache.camel.spi.MessageHistoryFactory}
*
* @return the factory
@@ -1382,16 +1162,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
void setStreamCachingStrategy(StreamCachingStrategy streamCachingStrategy);
/**
- * Gets the {@link UnitOfWorkFactory} to use.
- */
- UnitOfWorkFactory getUnitOfWorkFactory();
-
- /**
- * Sets a custom {@link UnitOfWorkFactory} to use.
- */
- void setUnitOfWorkFactory(UnitOfWorkFactory unitOfWorkFactory);
-
- /**
* Gets the {@link org.apache.camel.spi.RuntimeEndpointRegistry} to use, or <tt>null</tt> if none is in use.
*/
RuntimeEndpointRegistry getRuntimeEndpointRegistry();
@@ -1426,20 +1196,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
List<RoutePolicyFactory> getRoutePolicyFactories();
/**
- * Returns the JAXB Context factory used to create Models.
- *
- * @return the JAXB Context factory used to create Models.
- */
- ModelJAXBContextFactory getModelJAXBContextFactory();
-
- /**
- * Sets a custom JAXB Context factory to be used
- *
- * @param modelJAXBContextFactory a JAXB Context factory
- */
- void setModelJAXBContextFactory(ModelJAXBContextFactory modelJAXBContextFactory);
-
- /**
* Returns the {@link ReloadStrategy} if in use.
*
* @return the strategy, or <tt>null</tt> if none has been configured.
@@ -1452,16 +1208,6 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
void setReloadStrategy(ReloadStrategy reloadStrategy);
/**
- * Gets a list of {@link LogListener}.
- */
- Set<LogListener> getLogListeners();
-
- /**
- * Adds a {@link LogListener}.
- */
- void addLogListener(LogListener listener);
-
- /**
* Sets the global SSL context parameters.
*/
void setSSLContextParameters(SSLContextParameters sslContextParameters);
@@ -1481,24 +1227,4 @@ public interface CamelContext extends StatefulService, RuntimeConfiguration {
*/
void setHeadersMapFactory(HeadersMapFactory factory);
- /**
- * Gets the {@link DeferServiceFactory} to use.
- */
- DeferServiceFactory getDeferServiceFactory();
-
- /**
- * Gets the {@link AnnotationBasedProcessorFactory} to use.
- */
- AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory();
-
- /**
- * Gets the {@link BeanProxyFactory} to use.
- */
- BeanProxyFactory getBeanProxyFactory();
-
- /**
- * Gets the {@link BeanProcessorFactory} to use.
- */
- BeanProcessorFactory getBeanProcessorFactory();
-
}
diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
new file mode 100644
index 0000000..d8cc8e9
--- /dev/null
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
@@ -0,0 +1,308 @@
+/*
+ * 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;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.ScheduledExecutorService;
+
+import org.apache.camel.spi.AnnotationBasedProcessorFactory;
+import org.apache.camel.spi.AsyncProcessorAwaitManager;
+import org.apache.camel.spi.BeanProcessorFactory;
+import org.apache.camel.spi.BeanProxyFactory;
+import org.apache.camel.spi.CamelBeanPostProcessor;
+import org.apache.camel.spi.DataFormatResolver;
+import org.apache.camel.spi.DeferServiceFactory;
+import org.apache.camel.spi.EndpointStrategy;
+import org.apache.camel.spi.FactoryFinder;
+import org.apache.camel.spi.FactoryFinderResolver;
+import org.apache.camel.spi.InterceptStrategy;
+import org.apache.camel.spi.LifecycleStrategy;
+import org.apache.camel.spi.LogListener;
+import org.apache.camel.spi.ManagementMBeanAssembler;
+import org.apache.camel.spi.ModelJAXBContextFactory;
+import org.apache.camel.spi.NodeIdFactory;
+import org.apache.camel.spi.PackageScanClassResolver;
+import org.apache.camel.spi.ProcessorFactory;
+import org.apache.camel.spi.RouteStartupOrder;
+import org.apache.camel.spi.UnitOfWorkFactory;
+
+/**
+ * Extended {@link CamelContext} which contains the methods and APIs that are not primary intended for Camel end users
+ * but for SPI, custom components, or more advanced used-cases with Camel.
+ */
+public interface ExtendedCamelContext extends CamelContext {
+
+ /**
+ * Method to signal to {@link CamelContext} that the process to initialize setup routes is in progress.
+ *
+ * @param done <tt>false</tt> to start the process, call again with <tt>true</tt> to signal its done.
+ * @see #isSetupRoutes()
+ */
+ void setupRoutes(boolean done);
+
+ /**
+ * Indicates whether current thread is setting up route(s) as part of starting Camel from spring/blueprint.
+ * <p/>
+ * This can be useful to know by {@link LifecycleStrategy} or the likes, in case
+ * they need to react differently.
+ * <p/>
+ * As the startup procedure of {@link CamelContext} is slightly different when using plain Java versus
+ * Spring or Blueprint, then we need to know when Spring/Blueprint is setting up the routes, which
+ * can happen after the {@link CamelContext} itself is in started state, due the asynchronous event nature
+ * of especially Blueprint.
+ *
+ * @return <tt>true</tt> if current thread is setting up route(s), or <tt>false</tt> if not.
+ */
+ boolean isSetupRoutes();
+
+ /**
+ * Registers a {@link org.apache.camel.spi.EndpointStrategy callback} to allow you to do custom
+ * logic when an {@link Endpoint} is about to be registered to the {@link org.apache.camel.spi.EndpointRegistry}.
+ * <p/>
+ * When a callback is registered it will be executed on the already registered endpoints allowing you to catch-up
+ *
+ * @param strategy callback to be invoked
+ */
+ void registerEndpointCallback(EndpointStrategy strategy);
+
+ /**
+ * Returns the order in which the route inputs was started.
+ * <p/>
+ * The order may not be according to the startupOrder defined on the route.
+ * For example a route could be started manually later, or new routes added at runtime.
+ *
+ * @return a list in the order how routes was started
+ */
+ List<RouteStartupOrder> getRouteStartupOrder();
+
+ /**
+ * Returns the bean post processor used to do any bean customization.
+ *
+ * @return the bean post processor.
+ */
+ CamelBeanPostProcessor getBeanPostProcessor();
+
+ /**
+ * Returns the management mbean assembler
+ *
+ * @return the mbean assembler
+ */
+ ManagementMBeanAssembler getManagementMBeanAssembler();
+
+ /**
+ * Creates a new multicast processor which sends an exchange to all the processors.
+ *
+ * @param processors the list of processors to send to
+ * @param executor the executor to use
+ * @return a multicasting processor
+ */
+ AsyncProcessor createMulticast(Collection<Processor> processors,
+ ExecutorService executor, boolean shutdownExecutorService);
+
+ /**
+ * Gets the default error handler builder which is inherited by the routes
+ *
+ * @return the builder
+ */
+ ErrorHandlerFactory getErrorHandlerFactory();
+
+ /**
+ * Sets the default error handler builder which is inherited by the routes
+ *
+ * @param errorHandlerFactory the builder
+ */
+ void setErrorHandlerFactory(ErrorHandlerFactory errorHandlerFactory);
+
+ /**
+ * Uses a custom node id factory when generating auto assigned ids to the nodes in the route definitions
+ *
+ * @param factory custom factory to use
+ */
+ void setNodeIdFactory(NodeIdFactory factory);
+
+ /**
+ * Gets the node id factory
+ *
+ * @return the node id factory
+ */
+ NodeIdFactory getNodeIdFactory();
+
+ /**
+ * Gets the current data format resolver
+ *
+ * @return the resolver
+ */
+ DataFormatResolver getDataFormatResolver();
+
+ /**
+ * Sets a custom data format resolver
+ *
+ * @param dataFormatResolver the resolver
+ */
+ void setDataFormatResolver(DataFormatResolver dataFormatResolver);
+
+ /**
+ * Returns the package scanning class resolver
+ *
+ * @return the resolver
+ */
+ PackageScanClassResolver getPackageScanClassResolver();
+
+ /**
+ * Sets the package scanning class resolver to use
+ *
+ * @param resolver the resolver
+ */
+ void setPackageScanClassResolver(PackageScanClassResolver resolver);
+
+ /**
+ * Gets the default FactoryFinder which will be used for the loading the factory class from META-INF
+ *
+ * @return the default factory finder
+ */
+ FactoryFinder getDefaultFactoryFinder();
+
+ /**
+ * Gets the FactoryFinder which will be used for the loading the factory class from META-INF in the given path
+ *
+ * @param path the META-INF path
+ * @return the factory finder
+ * @throws NoFactoryAvailableException is thrown if a factory could not be found
+ */
+ FactoryFinder getFactoryFinder(String path) throws NoFactoryAvailableException;
+
+ /**
+ * Sets the factory finder resolver to use.
+ *
+ * @param resolver the factory finder resolver
+ */
+ void setFactoryFinderResolver(FactoryFinderResolver resolver);
+
+ /**
+ * Gets the current {@link org.apache.camel.spi.ProcessorFactory}
+ *
+ * @return the factory, can be <tt>null</tt> if no custom factory has been set
+ */
+ ProcessorFactory getProcessorFactory();
+
+ /**
+ * Sets a custom {@link org.apache.camel.spi.ProcessorFactory}
+ *
+ * @param processorFactory the custom factory
+ */
+ void setProcessorFactory(ProcessorFactory processorFactory);
+
+ /**
+ * Returns the JAXB Context factory used to create Models.
+ *
+ * @return the JAXB Context factory used to create Models.
+ */
+ ModelJAXBContextFactory getModelJAXBContextFactory();
+
+ /**
+ * Sets a custom JAXB Context factory to be used
+ *
+ * @param modelJAXBContextFactory a JAXB Context factory
+ */
+ void setModelJAXBContextFactory(ModelJAXBContextFactory modelJAXBContextFactory);
+
+ /**
+ * Gets the {@link DeferServiceFactory} to use.
+ */
+ DeferServiceFactory getDeferServiceFactory();
+
+ /**
+ * Gets the {@link UnitOfWorkFactory} to use.
+ */
+ UnitOfWorkFactory getUnitOfWorkFactory();
+
+ /**
+ * Sets a custom {@link UnitOfWorkFactory} to use.
+ */
+ void setUnitOfWorkFactory(UnitOfWorkFactory unitOfWorkFactory);
+
+ /**
+ * Gets the {@link AnnotationBasedProcessorFactory} to use.
+ */
+ AnnotationBasedProcessorFactory getAnnotationBasedProcessorFactory();
+
+ /**
+ * Gets the {@link BeanProxyFactory} to use.
+ */
+ BeanProxyFactory getBeanProxyFactory();
+
+ /**
+ * Gets the {@link BeanProcessorFactory} to use.
+ */
+ BeanProcessorFactory getBeanProcessorFactory();
+
+ /**
+ * Gets the default shared thread pool for error handlers which
+ * leverages this for asynchronous redelivery tasks.
+ */
+ ScheduledExecutorService getErrorHandlerExecutorService();
+
+ /**
+ * Adds the given interceptor strategy
+ *
+ * @param interceptStrategy the strategy
+ */
+ void addInterceptStrategy(InterceptStrategy interceptStrategy);
+
+ /**
+ * Gets the interceptor strategies
+ *
+ * @return the list of current interceptor strategies
+ */
+ List<InterceptStrategy> getInterceptStrategies();
+
+ /**
+ * Setup management according to whether JMX is enabled or disabled.
+ *
+ * @param options optional parameters to configure {@link org.apache.camel.spi.ManagementAgent}.
+ */
+ void setupManagement(Map<String, Object> options);
+
+ /**
+ * Gets a list of {@link LogListener}.
+ */
+ Set<LogListener> getLogListeners();
+
+ /**
+ * Adds a {@link LogListener}.
+ */
+ void addLogListener(LogListener listener);
+
+ /**
+ * Gets the {@link org.apache.camel.AsyncProcessor} await manager.
+ *
+ * @return the manager
+ */
+ AsyncProcessorAwaitManager getAsyncProcessorAwaitManager();
+
+ /**
+ * Sets a custom {@link org.apache.camel.AsyncProcessor} await manager.
+ *
+ * @param manager the manager
+ */
+ void setAsyncProcessorAwaitManager(AsyncProcessorAwaitManager manager);
+
+}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java b/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
index 6ff79f5..622e69c 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
@@ -37,6 +37,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.CamelExecutionException;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.NoTypeConversionAvailableException;
@@ -653,7 +654,7 @@ public abstract class BaseTypeConverterRegistry extends ServiceSupport implement
injector = camelContext.getInjector();
}
if (resolver == null && camelContext != null) {
- resolver = camelContext.getPackageScanClassResolver();
+ resolver = camelContext.adapt(ExtendedCamelContext.class).getPackageScanClassResolver();
}
initTypeConverterLoaders();
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 83a5c28..f266eb1 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -50,6 +50,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.ConsumerTemplate;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.ExtendedStartupListener;
import org.apache.camel.FailedToStartRouteException;
import org.apache.camel.FluentProducerTemplate;
@@ -161,7 +162,7 @@ import static org.apache.camel.spi.UnitOfWork.MDC_CAMEL_CONTEXT_ID;
/**
* Represents the context used to configure routes and the policies to use.
*/
-public abstract class AbstractCamelContext extends ServiceSupport implements CamelContext, Suspendable {
+public abstract class AbstractCamelContext extends ServiceSupport implements ExtendedCamelContext, Suspendable {
public enum Initialization {
Eager, Default, Lazy
@@ -801,7 +802,7 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Cam
}
}
- public void addRegisterEndpointCallback(EndpointStrategy strategy) {
+ public void registerEndpointCallback(EndpointStrategy strategy) {
if (!endpointStrategies.contains(strategy)) {
// let it be invoked for already registered endpoints so it can
// catch-up.
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java
index 0901e23..e3bf709 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractDynamicRegistry.java
@@ -25,6 +25,7 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.StaticService;
import org.apache.camel.support.LRUCache;
import org.apache.camel.support.LRUCacheFactory;
@@ -64,7 +65,7 @@ public class AbstractDynamicRegistry<K, V> extends AbstractMap<K, V> implements
V answer = staticMap.get(o);
if (answer == null) {
answer = dynamicMap.get(o);
- if (answer != null && (context.isSetupRoutes() || context.getRouteController().isStartingRoutes())) {
+ if (answer != null && (context.adapt(ExtendedCamelContext.class).isSetupRoutes() || context.getRouteController().isStartingRoutes())) {
dynamicMap.remove(o);
staticMap.put((K) o, answer);
}
@@ -90,7 +91,7 @@ public class AbstractDynamicRegistry<K, V> extends AbstractMap<K, V> implements
}
// we want transformers to be static if they are part of setting up or starting routes
- if (context.isSetupRoutes() || context.getRouteController().isStartingRoutes()) {
+ if (context.adapt(ExtendedCamelContext.class).isSetupRoutes() || context.getRouteController().isStartingRoutes()) {
answer = staticMap.put(key, transformer);
} else {
answer = dynamicMap.put(key, transformer);
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java
index a57f5bb..01934ff 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProcessorFactoryResolver.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl.engine;
import java.io.IOException;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.BeanProcessorFactory;
import org.apache.camel.spi.FactoryFinder;
import org.slf4j.Logger;
@@ -63,7 +64,7 @@ public class BeanProcessorFactoryResolver {
private Class<?> findFactory(String name, CamelContext context) throws ClassNotFoundException, IOException {
if (factoryFinder == null) {
- factoryFinder = context.getFactoryFinder(RESOURCE_PATH);
+ factoryFinder = context.adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
}
return factoryFinder.findClass(name);
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java
index e50278f..b53e1a8 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BeanProxyFactoryResolver.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl.engine;
import java.io.IOException;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.BeanProxyFactory;
import org.apache.camel.spi.FactoryFinder;
import org.slf4j.Logger;
@@ -63,7 +64,7 @@ public class BeanProxyFactoryResolver {
private Class<?> findFactory(String name, CamelContext context) throws ClassNotFoundException, IOException {
if (factoryFinder == null) {
- factoryFinder = context.getFactoryFinder(RESOURCE_PATH);
+ factoryFinder = context.adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
}
return factoryFinder.findClass(name);
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultComponentResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultComponentResolver.java
index 6c6fd90..a847bd9 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultComponentResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultComponentResolver.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import org.apache.camel.CamelContext;
import org.apache.camel.Component;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.spi.ComponentResolver;
import org.apache.camel.spi.FactoryFinder;
@@ -76,7 +77,7 @@ public class DefaultComponentResolver implements ComponentResolver {
private Class<?> findComponent(String name, CamelContext context) throws ClassNotFoundException, IOException {
if (factoryFinder == null) {
- factoryFinder = context.getFactoryFinder(RESOURCE_PATH);
+ factoryFinder = context.adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
}
return factoryFinder.findClass(name);
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultDataFormatResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultDataFormatResolver.java
index a0a207b..378d428 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultDataFormatResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultDataFormatResolver.java
@@ -17,6 +17,7 @@
package org.apache.camel.impl.engine;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.DataFormatFactory;
@@ -69,7 +70,7 @@ public class DefaultDataFormatResolver implements DataFormatResolver {
Class<?> type = null;
try {
if (dataformatFactory == null) {
- dataformatFactory = context.getFactoryFinder(DATAFORMAT_RESOURCE_PATH);
+ dataformatFactory = context.adapt(ExtendedCamelContext.class).getFactoryFinder(DATAFORMAT_RESOURCE_PATH);
}
type = dataformatFactory.findClass(name);
} catch (NoFactoryAvailableException e) {
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java
index c85a956..76f583b 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java
@@ -17,6 +17,7 @@
package org.apache.camel.impl.engine;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.spi.CamelBeanPostProcessor;
import org.apache.camel.spi.Injector;
@@ -35,7 +36,7 @@ public class DefaultInjector implements Injector {
private final CamelBeanPostProcessor postProcessor;
public DefaultInjector(CamelContext context) {
- postProcessor = context.getBeanPostProcessor();
+ postProcessor = context.adapt(ExtendedCamelContext.class).getBeanPostProcessor();
}
@Override
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultLanguageResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultLanguageResolver.java
index c8166ce..511fac9 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultLanguageResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultLanguageResolver.java
@@ -17,6 +17,7 @@
package org.apache.camel.impl.engine;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.NoSuchLanguageException;
import org.apache.camel.spi.FactoryFinder;
@@ -92,14 +93,14 @@ public class DefaultLanguageResolver implements LanguageResolver {
protected Class<?> findLanguage(String name, CamelContext context) throws Exception {
if (languageFactory == null) {
- languageFactory = context.getFactoryFinder(LANGUAGE_RESOURCE_PATH);
+ languageFactory = context.adapt(ExtendedCamelContext.class).getFactoryFinder(LANGUAGE_RESOURCE_PATH);
}
return languageFactory.findClass(name);
}
protected Class<?> findLanguageResolver(String name, CamelContext context) throws Exception {
if (languageResolver == null) {
- languageResolver = context.getFactoryFinder(LANGUAGE_RESOLVER_RESOURCE_PATH);
+ languageResolver = context.adapt(ExtendedCamelContext.class).getFactoryFinder(LANGUAGE_RESOLVER_RESOURCE_PATH);
}
return languageResolver.findClass(name);
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultNodeIdFactory.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultNodeIdFactory.java
index 45d15ca..e75b473 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultNodeIdFactory.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultNodeIdFactory.java
@@ -42,7 +42,6 @@ public class DefaultNodeIdFactory implements NodeIdFactory {
return nodeCounters.computeIfAbsent(key, k -> new AtomicInteger(0));
}
-
/**
* Helper method for test purposes that allows tests to start clean (made protected
* to ensure that it is not called accidentally)
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 161e26c..69e93a0 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
@@ -21,6 +21,7 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Expression;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.Processor;
@@ -47,7 +48,7 @@ public class DefaultProcessorFactory implements ProcessorFactory {
@Override
public Processor createChildProcessor(RouteContext routeContext, NamedNode definition, boolean mandatory) throws Exception {
String name = definition.getClass().getSimpleName();
- FactoryFinder finder = routeContext.getCamelContext().getFactoryFinder(RESOURCE_PATH);
+ FactoryFinder finder = routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
try {
if (finder != null) {
Object object = finder.newInstance(name);
@@ -66,7 +67,7 @@ public class DefaultProcessorFactory implements ProcessorFactory {
@Override
public Processor createProcessor(RouteContext routeContext, NamedNode definition) throws Exception {
String name = definition.getClass().getSimpleName();
- FactoryFinder finder = routeContext.getCamelContext().getFactoryFinder(RESOURCE_PATH);
+ FactoryFinder finder = routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
try {
if (finder != null) {
Object object = finder.newInstance(name);
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java
index 8935a21..daa4825 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/HeadersMapFactoryResolver.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl.engine;
import java.io.IOException;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.HeadersMapFactory;
import org.slf4j.Logger;
@@ -66,7 +67,7 @@ public class HeadersMapFactoryResolver {
private Class<?> findFactory(String name, CamelContext context) throws ClassNotFoundException, IOException {
if (factoryFinder == null) {
- factoryFinder = context.getFactoryFinder(RESOURCE_PATH);
+ factoryFinder = context.adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
}
return factoryFinder.findClass(name);
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java
index 5b0d9e4..ad74fcf 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/RestRegistryFactoryResolver.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl.engine;
import java.io.IOException;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.RestRegistryFactory;
import org.slf4j.Logger;
@@ -65,7 +66,7 @@ public class RestRegistryFactoryResolver {
private Class<?> findFactory(String name, CamelContext context) throws ClassNotFoundException, IOException {
if (factoryFinder == null) {
- factoryFinder = context.getFactoryFinder(RESOURCE_PATH);
+ factoryFinder = context.adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
}
return factoryFinder.findClass(name);
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
index 683efd3..b010417 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/SubscribeMethodProcessor.java
@@ -26,6 +26,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Navigate;
import org.apache.camel.Predicate;
import org.apache.camel.Processor;
@@ -53,7 +54,8 @@ public final class SubscribeMethodProcessor extends AsyncProcessorSupport implem
}
public void addMethod(final Object pojo, final Method method, final Endpoint endpoint, String predicate) throws Exception {
- Processor answer = endpoint.getCamelContext().getBeanProcessorFactory().createBeanProcessor(endpoint.getCamelContext(), pojo, method);
+ Processor answer = endpoint.getCamelContext().adapt(ExtendedCamelContext.class)
+ .getBeanProcessorFactory().createBeanProcessor(endpoint.getCamelContext(), pojo, method);
// must ensure the consumer is being executed in an unit of work so synchronization callbacks etc is invoked
CamelInternalProcessor internal = new CamelInternalProcessor(answer);
internal.addAdvice(new CamelInternalProcessor.UnitOfWorkProcessorAdvice(null));
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 5f92420..519bacd 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
@@ -25,6 +25,7 @@ import java.util.concurrent.RejectedExecutionException;
import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.MessageHistory;
import org.apache.camel.NamedNode;
import org.apache.camel.Ordered;
@@ -561,7 +562,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
}
protected UnitOfWork createUnitOfWork(Exchange exchange) {
- return exchange.getContext().getUnitOfWorkFactory().createUnitOfWork(exchange);
+ return exchange.getContext().adapt(ExtendedCamelContext.class).getUnitOfWorkFactory().createUnitOfWork(exchange);
}
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicAwareResolver.java b/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicAwareResolver.java
index 9025c18..5d3222a 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicAwareResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/SendDynamicAwareResolver.java
@@ -19,6 +19,7 @@ package org.apache.camel.processor;
import java.io.IOException;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.FactoryFinder;
import org.apache.camel.spi.SendDynamicAware;
import org.slf4j.Logger;
@@ -61,7 +62,7 @@ public class SendDynamicAwareResolver {
private Class<?> findFactory(String name, CamelContext context) throws ClassNotFoundException, IOException {
if (factoryFinder == null) {
- factoryFinder = context.getFactoryFinder(RESOURCE_PATH);
+ factoryFinder = context.adapt(ExtendedCamelContext.class).getFactoryFinder(RESOURCE_PATH);
}
return factoryFinder.findClass(name);
}
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/SharedCamelInternalProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/SharedCamelInternalProcessor.java
index c918cb1..ac698d4 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/SharedCamelInternalProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/SharedCamelInternalProcessor.java
@@ -25,6 +25,7 @@ import java.util.concurrent.RejectedExecutionException;
import org.apache.camel.AsyncCallback;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Ordered;
import org.apache.camel.Processor;
import org.apache.camel.Service;
@@ -82,7 +83,7 @@ public class SharedCamelInternalProcessor {
* Synchronous API
*/
public void process(Exchange exchange, AsyncProcessor processor, Processor resultProcessor) {
- final AsyncProcessorAwaitManager awaitManager = exchange.getContext().getAsyncProcessorAwaitManager();
+ final AsyncProcessorAwaitManager awaitManager = exchange.getContext().adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager();
awaitManager.process(new AsyncProcessor() {
@Override
public boolean process(Exchange exchange, AsyncCallback callback) {
diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java
index b0d1da4..5f3d3a6 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/interceptor/HandleFault.java
@@ -19,6 +19,7 @@ package org.apache.camel.processor.interceptor;
import java.util.List;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.spi.InterceptStrategy;
@@ -42,7 +43,7 @@ public final class HandleFault implements InterceptStrategy {
* @return the stream cache or null if none can be found
*/
public static HandleFault getHandleFault(CamelContext context) {
- List<InterceptStrategy> list = context.getInterceptStrategies();
+ List<InterceptStrategy> list = context.adapt(ExtendedCamelContext.class).getInterceptStrategies();
for (InterceptStrategy interceptStrategy : list) {
if (interceptStrategy instanceof HandleFault) {
return (HandleFault)interceptStrategy;
diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
index 5603f19..6d438e3 100644
--- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
+++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java
@@ -25,6 +25,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Expression;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.cloud.ServiceCallConstants;
@@ -130,7 +131,7 @@ public class DefaultServiceCallProcessor extends AsyncProcessorSupport {
args.put("expression", expression);
args.put("exchangePattern", exchangePattern);
- Processor send = camelContext.getProcessorFactory().createProcessor(camelContext, "SendDynamicProcessor", args);
+ Processor send = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(camelContext, "SendDynamicProcessor", args);
processor = AsyncProcessorConverterHelper.convert(send);
// Start services if needed
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 54f422a..5016a03 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
@@ -23,6 +23,7 @@ import java.util.function.Supplier;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
import org.apache.camel.Expression;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.cloud.ServiceChooser;
import org.apache.camel.cloud.ServiceChooserAware;
@@ -383,7 +384,7 @@ public class ServiceCallProcessorFactory extends TypedProcessorFactory<ServiceCa
try {
// Then use Service factory.
- type = camelContext.getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(lookupName);
+ type = camelContext.adapt(ExtendedCamelContext.class).getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(lookupName);
} catch (Exception e) {
}
diff --git a/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java b/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
index 3e73507..781c98a 100644
--- a/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
+++ b/core/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/utils/BundleContextUtils.java
@@ -16,18 +16,8 @@
*/
package org.apache.camel.core.osgi.utils;
-import java.io.IOException;
import java.lang.reflect.Method;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Map;
-import java.util.Properties;
-import java.util.SortedMap;
-import java.util.TreeMap;
-import org.apache.camel.CamelContext;
-import org.apache.camel.LoadPropertiesException;
-import org.apache.camel.support.CamelContextHelper;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
@@ -74,20 +64,4 @@ public final class BundleContextUtils {
return null;
}
- /**
- * Finds the components available on the bundle context and camel context
- */
- public static Map<String, Properties> findComponents(BundleContext bundleContext, CamelContext camelContext)
- throws IOException, LoadPropertiesException {
-
- SortedMap<String, Properties> answer = new TreeMap<>();
- Bundle[] bundles = bundleContext.getBundles();
- for (Bundle bundle : bundles) {
- Enumeration<URL> iter = bundle.getResources(CamelContextHelper.COMPONENT_DESCRIPTOR);
- SortedMap<String, Properties> map = CamelContextHelper.findComponents(camelContext, iter);
- answer.putAll(map);
- }
- return answer;
- }
-
}
diff --git a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index 94f2de6..bde2086 100644
--- a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -30,6 +30,7 @@ import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelException;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.RoutesBuilder;
@@ -165,7 +166,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
PackageScanClassResolver packageResolver = getBeanForType(PackageScanClassResolver.class);
if (packageResolver != null) {
LOG.info("Using custom PackageScanClassResolver: {}", packageResolver);
- getContext().setPackageScanClassResolver(packageResolver);
+ getContext().adapt(ExtendedCamelContext.class).setPackageScanClassResolver(packageResolver);
}
// also set type converter registry as early as possible
@@ -202,7 +203,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
HandleFault handleFault = getBeanForType(HandleFault.class);
if (handleFault != null) {
LOG.info("Using custom HandleFault: {}", handleFault);
- getContext().addInterceptStrategy(handleFault);
+ getContext().adapt(ExtendedCamelContext.class).addInterceptStrategy(handleFault);
}
InflightRepository inflightRepository = getBeanForType(InflightRepository.class);
if (inflightRepository != null) {
@@ -212,7 +213,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
AsyncProcessorAwaitManager asyncProcessorAwaitManager = getBeanForType(AsyncProcessorAwaitManager.class);
if (asyncProcessorAwaitManager != null) {
LOG.info("Using custom AsyncProcessorAwaitManager: {}", asyncProcessorAwaitManager);
- getContext().setAsyncProcessorAwaitManager(asyncProcessorAwaitManager);
+ getContext().adapt(ExtendedCamelContext.class).setAsyncProcessorAwaitManager(asyncProcessorAwaitManager);
}
ManagementStrategy managementStrategy = getBeanForType(ManagementStrategy.class);
if (managementStrategy != null) {
@@ -232,7 +233,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
UnitOfWorkFactory unitOfWorkFactory = getBeanForType(UnitOfWorkFactory.class);
if (unitOfWorkFactory != null) {
LOG.info("Using custom UnitOfWorkFactory: {}", unitOfWorkFactory);
- getContext().setUnitOfWorkFactory(unitOfWorkFactory);
+ getContext().adapt(ExtendedCamelContext.class).setUnitOfWorkFactory(unitOfWorkFactory);
}
RuntimeEndpointRegistry runtimeEndpointRegistry = getBeanForType(RuntimeEndpointRegistry.class);
if (runtimeEndpointRegistry != null) {
@@ -276,7 +277,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
for (Entry<String, EndpointStrategy> entry : endpointStrategies.entrySet()) {
EndpointStrategy strategy = entry.getValue();
LOG.info("Using custom EndpointStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
- getContext().addRegisterEndpointCallback(strategy);
+ getContext().adapt(ExtendedCamelContext.class).registerEndpointCallback(strategy);
}
}
// shutdown
@@ -291,9 +292,9 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
for (Entry<String, InterceptStrategy> entry : interceptStrategies.entrySet()) {
InterceptStrategy strategy = entry.getValue();
// do not add if already added, for instance a tracer that is also an InterceptStrategy class
- if (!getContext().getInterceptStrategies().contains(strategy)) {
+ if (!getContext().adapt(ExtendedCamelContext.class).getInterceptStrategies().contains(strategy)) {
LOG.info("Using custom InterceptStrategy with id: {} and implementation: {}", entry.getKey(), strategy);
- getContext().addInterceptStrategy(strategy);
+ getContext().adapt(ExtendedCamelContext.class).addInterceptStrategy(strategy);
}
}
}
@@ -380,9 +381,9 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
if (logListeners != null && !logListeners.isEmpty()) {
for (Map.Entry<String, LogListener> entry : logListeners.entrySet()) {
LogListener logListener = entry.getValue();
- if (!getContext().getLogListeners().contains(logListener)) {
+ if (!getContext().adapt(ExtendedCamelContext.class).getLogListeners().contains(logListener)) {
LOG.info("Using custom LogListener with id: {} and implementation: {}", entry.getKey(), logListener);
- getContext().addLogListener(logListener);
+ getContext().adapt(ExtendedCamelContext.class).addLogListener(logListener);
}
}
}
@@ -411,7 +412,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
LOG.debug("Setting up routes");
// mark that we are setting up routes
- getContext().setupRoutes(false);
+ getContext().adapt(ExtendedCamelContext.class).setupRoutes(false);
// must init route refs before we prepare the routes below
initRouteRefs();
@@ -462,7 +463,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
installRoutes();
// and we are now finished setting up the routes
- getContext().setupRoutes(true);
+ getContext().adapt(ExtendedCamelContext.class).setupRoutes(true);
}
}
@@ -553,7 +554,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
properties.put("statisticsLevel", msLevel);
}
- getContext().setupManagement(properties);
+ getContext().adapt(ExtendedCamelContext.class).setupManagement(properties);
}
}
@@ -867,7 +868,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
context.setHandleFault(CamelContextHelper.parseBoolean(context, getHandleFault()));
}
if (getErrorHandlerRef() != null) {
- context.setErrorHandlerFactory(new ErrorHandlerBuilderRef(getErrorHandlerRef()));
+ context.adapt(ExtendedCamelContext.class).setErrorHandlerFactory(new ErrorHandlerBuilderRef(getErrorHandlerRef()));
}
if (getAutoStartup() != null) {
context.setAutoStartup(CamelContextHelper.parseBoolean(context, getAutoStartup()));
@@ -1113,7 +1114,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
ModelJAXBContextFactory modelJAXBContextFactory = getBeanForType(ModelJAXBContextFactory.class);
if (modelJAXBContextFactory != null) {
LOG.info("Using custom ModelJAXBContextFactory: {}", modelJAXBContextFactory);
- getContext().setModelJAXBContextFactory(modelJAXBContextFactory);
+ getContext().adapt(ExtendedCamelContext.class).setModelJAXBContextFactory(modelJAXBContextFactory);
}
ClassResolver classResolver = getBeanForType(ClassResolver.class);
if (classResolver != null) {
@@ -1123,7 +1124,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
FactoryFinderResolver factoryFinderResolver = getBeanForType(FactoryFinderResolver.class);
if (factoryFinderResolver != null) {
LOG.info("Using custom FactoryFinderResolver: {}", factoryFinderResolver);
- getContext().setFactoryFinderResolver(factoryFinderResolver);
+ getContext().adapt(ExtendedCamelContext.class).setFactoryFinderResolver(factoryFinderResolver);
}
ExecutorServiceManager executorServiceStrategy = getBeanForType(ExecutorServiceManager.class);
if (executorServiceStrategy != null) {
@@ -1138,7 +1139,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
ProcessorFactory processorFactory = getBeanForType(ProcessorFactory.class);
if (processorFactory != null) {
LOG.info("Using custom ProcessorFactory: {}", processorFactory);
- getContext().setProcessorFactory(processorFactory);
+ getContext().adapt(ExtendedCamelContext.class).setProcessorFactory(processorFactory);
}
Debugger debugger = getBeanForType(Debugger.class);
if (debugger != null) {
@@ -1153,7 +1154,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
NodeIdFactory nodeIdFactory = getBeanForType(NodeIdFactory.class);
if (nodeIdFactory != null) {
LOG.info("Using custom NodeIdFactory: {}", nodeIdFactory);
- getContext().setNodeIdFactory(nodeIdFactory);
+ getContext().adapt(ExtendedCamelContext.class).setNodeIdFactory(nodeIdFactory);
}
StreamCachingStrategy streamCachingStrategy = getBeanForType(StreamCachingStrategy.class);
if (streamCachingStrategy != null) {
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java b/core/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java
index 1b7fee6..c7c19b9 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/AdviceWithRouteBuilder.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.impl.engine.InterceptSendToMockEndpointStrategy;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
@@ -73,7 +74,7 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
* @throws Exception can be thrown if error occurred
*/
public void mockEndpoints() throws Exception {
- getContext().addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(null));
+ getContext().adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(null));
}
/**
@@ -85,7 +86,7 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
*/
public void mockEndpoints(String... pattern) throws Exception {
for (String s : pattern) {
- getContext().addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(s));
+ getContext().adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(s));
}
}
@@ -98,7 +99,7 @@ public abstract class AdviceWithRouteBuilder extends RouteBuilder {
*/
public void mockEndpointsAndSkip(String... pattern) throws Exception {
for (String s : pattern) {
- getContext().addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy(s, true));
+ getContext().adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy(s, true));
}
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java b/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
index d7aa51f..8cfcec2 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderRef.java
@@ -22,6 +22,7 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.model.OnExceptionDefinition;
import org.apache.camel.model.RouteDefinition;
@@ -157,7 +158,7 @@ public class ErrorHandlerBuilderRef extends ErrorHandlerBuilderSupport {
}
protected static ErrorHandlerFactory lookupErrorHandlerBuilder(CamelContext camelContext) {
- ErrorHandlerFactory answer = camelContext.getErrorHandlerFactory();
+ ErrorHandlerFactory answer = camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerFactory();
if (answer instanceof ErrorHandlerBuilderRef) {
ErrorHandlerBuilderRef other = (ErrorHandlerBuilderRef) answer;
String otherRef = other.getRef();
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/ProxyBuilder.java b/core/camel-core/src/main/java/org/apache/camel/builder/ProxyBuilder.java
index 263135a..4c861d8 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/ProxyBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/ProxyBuilder.java
@@ -18,6 +18,7 @@ package org.apache.camel.builder;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.BeanProxyFactory;
import org.apache.camel.util.ObjectHelper;
@@ -81,7 +82,7 @@ public final class ProxyBuilder {
public <T> T build(Class<T>... interfaceClasses) throws Exception {
ObjectHelper.notNull(endpoint, "endpoint");
// use proxy service
- BeanProxyFactory factory = camelContext.getBeanProxyFactory();
+ BeanProxyFactory factory = camelContext.adapt(ExtendedCamelContext.class).getBeanProxyFactory();
if (factory == null) {
throw new IllegalArgumentException("Cannot find BeanProxyFactory. Make sure camel-bean is on the classpath.");
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java b/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
index 668e2c2..fade2e4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
+++ b/core/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
@@ -24,6 +24,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Route;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.model.FromDefinition;
@@ -427,8 +428,8 @@ public abstract class RouteBuilder extends BuilderSupport implements RoutesBuild
if (initialized.compareAndSet(false, true)) {
// Set the CamelContext ErrorHandler here
CamelContext camelContext = getContext();
- if (camelContext.getErrorHandlerFactory() instanceof ErrorHandlerBuilder) {
- setErrorHandlerBuilder((ErrorHandlerBuilder) camelContext.getErrorHandlerFactory());
+ if (camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerFactory() instanceof ErrorHandlerBuilder) {
+ setErrorHandlerBuilder((ErrorHandlerBuilder) camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerFactory());
}
configure();
// mark all route definitions as custom prepared because
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java b/core/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java
index 8432d25..569b924 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/CamelPostProcessorHelper.java
@@ -26,6 +26,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.ConsumerTemplate;
import org.apache.camel.DelegateEndpoint;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.FluentProducerTemplate;
import org.apache.camel.IsSingleton;
import org.apache.camel.MultipleConsumersSupport;
@@ -251,7 +252,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
// lets create a proxy
try {
// use proxy service
- BeanProxyFactory factory = endpoint.getCamelContext().getBeanProxyFactory();
+ BeanProxyFactory factory = endpoint.getCamelContext().adapt(ExtendedCamelContext.class).getBeanProxyFactory();
if (factory == null) {
throw new IllegalArgumentException("Cannot find BeanProxyFactory. Make sure camel-bean is on the classpath.");
}
@@ -400,7 +401,7 @@ public class CamelPostProcessorHelper implements CamelContextAware {
*/
protected Producer createInjectionProducer(Endpoint endpoint, Object bean, String beanName) {
try {
- return endpoint.getCamelContext().getDeferServiceFactory().createProducer(endpoint);
+ return endpoint.getCamelContext().adapt(ExtendedCamelContext.class).getDeferServiceFactory().createProducer(endpoint);
} catch (Exception e) {
throw RuntimeCamelException.wrapRuntimeCamelException(e);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
index d0b4534..532fd68 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceManager.java
@@ -30,6 +30,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.StaticService;
import org.apache.camel.model.OptionalIdentifiedDefinition;
@@ -500,7 +501,7 @@ public class DefaultExecutorServiceManager extends ServiceSupport implements Exe
// extract id from source
if (source instanceof NamedNode) {
- id = ((OptionalIdentifiedDefinition<?>) source).idOrCreate(this.camelContext.getNodeIdFactory());
+ id = ((OptionalIdentifiedDefinition<?>) source).idOrCreate(this.camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
// and let source be the short name of the pattern
sourceId = ((NamedNode) source).getShortName();
} else if (source instanceof String) {
@@ -525,7 +526,7 @@ public class DefaultExecutorServiceManager extends ServiceSupport implements Exe
if (source instanceof ProcessorDefinition) {
RouteDefinition route = ProcessorDefinitionHelper.getRoute((ProcessorDefinition<?>) source);
if (route != null) {
- routeId = route.idOrCreate(this.camelContext.getNodeIdFactory());
+ routeId = route.idOrCreate(this.camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
}
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java
index 56b4f86..a639d38 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultModel.java
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.FailedToStartRouteException;
import org.apache.camel.Route;
import org.apache.camel.impl.engine.AbstractCamelContext;
@@ -108,7 +109,7 @@ public class DefaultModel implements Model {
public synchronized RouteDefinition getRouteDefinition(String id) {
for (RouteDefinition route : routeDefinitions) {
- if (route.idOrCreate(camelContext.getNodeIdFactory()).equals(id)) {
+ if (route.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory()).equals(id)) {
return route;
}
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
index 2c9663d..061adbe 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/DefaultRouteContext.java
@@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.Processor;
@@ -83,7 +84,7 @@ public class DefaultRouteContext implements RouteContext {
this.camelContext = camelContext;
this.route = route;
this.from = from;
- this.routeId = route.idOrCreate(camelContext.getNodeIdFactory());
+ this.routeId = route.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
}
public Endpoint getEndpoint() {
@@ -168,7 +169,7 @@ public class DefaultRouteContext implements RouteContext {
Processor target = Pipeline.newInstance(getCamelContext(), eventDrivenProcessors);
// force creating the route id so its known ahead of the route is started
- String routeId = route.idOrCreate(getCamelContext().getNodeIdFactory());
+ String routeId = route.idOrCreate(getCamelContext().adapt(ExtendedCamelContext.class).getNodeIdFactory());
// 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(target);
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/ReloadStrategySupport.java b/core/camel-core/src/main/java/org/apache/camel/impl/ReloadStrategySupport.java
index 81cf3f8..3e0ade7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/ReloadStrategySupport.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/ReloadStrategySupport.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import org.apache.camel.ExtendedCamelContext;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -139,7 +140,7 @@ public abstract class ReloadStrategySupport extends ServiceSupport implements Re
// collect route ids and force assign ids if not in use
for (RouteDefinition route : routes) {
unassignedRouteIds |= !route.hasCustomIdAssigned();
- String id = route.idOrCreate(camelContext.getNodeIdFactory());
+ String id = route.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
csb.append(id);
}
log.debug("Reloading routes: [{}] from XML resource: {}", csb, name);
diff --git a/core/camel-core/src/main/java/org/apache/camel/impl/RouteService.java b/core/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
index b4e02e6..9cde665 100644
--- a/core/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
+++ b/core/camel-core/src/main/java/org/apache/camel/impl/RouteService.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl;
import java.util.List;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.Service;
@@ -76,7 +77,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 contextScoped = getCamelContext().getErrorHandlerFactory();
+ ErrorHandlerFactory contextScoped = getCamelContext().adapt(ExtendedCamelContext.class).getErrorHandlerFactory();
return routeScoped != null && contextScoped != null && routeScoped == contextScoped;
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/main/MainSupport.java b/core/camel-core/src/main/java/org/apache/camel/main/MainSupport.java
index b4152b3..a7869dd 100644
--- a/core/camel-core/src/main/java/org/apache/camel/main/MainSupport.java
+++ b/core/camel-core/src/main/java/org/apache/camel/main/MainSupport.java
@@ -41,6 +41,7 @@ import org.apache.camel.CamelContext;
import org.apache.camel.Component;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.TypeConverters;
import org.apache.camel.builder.RouteBuilder;
@@ -726,7 +727,7 @@ public abstract class MainSupport extends ServiceSupport {
protected void loadRouteBuilders(CamelContext camelContext) throws Exception {
// lets use Camel's bean post processor on any existing route builder classes
// so the instance has some support for dependency injection
- CamelBeanPostProcessor postProcessor = camelContext.getBeanPostProcessor();
+ CamelBeanPostProcessor postProcessor = camelContext.adapt(ExtendedCamelContext.class).getBeanPostProcessor();
for (RouteBuilder routeBuilder : getRouteBuilders()) {
postProcessor.postProcessBeforeInitialization(routeBuilder, routeBuilder.getClass().getName());
postProcessor.postProcessAfterInitialization(routeBuilder, routeBuilder.getClass().getName());
@@ -750,7 +751,7 @@ public abstract class MainSupport extends ServiceSupport {
protected void loadConfigurations(CamelContext camelContext) throws Exception {
// lets use Camel's bean post processor on any existing configuration classes
// so the instance has some support for dependency injection
- CamelBeanPostProcessor postProcessor = camelContext.getBeanPostProcessor();
+ CamelBeanPostProcessor postProcessor = camelContext.adapt(ExtendedCamelContext.class).getBeanPostProcessor();
for (Object configuration : getConfigurations()) {
postProcessor.postProcessBeforeInitialization(configuration, configuration.getClass().getName());
postProcessor.postProcessAfterInitialization(configuration, configuration.getClass().getName());
@@ -985,13 +986,13 @@ public abstract class MainSupport extends ServiceSupport {
final ManagementStrategy managementStrategy = camelContext.getManagementStrategy();
registerPropertyForBeanType(registry, BacklogTracer.class, bt -> camelContext.setExtension(BacklogTracer.class, bt));
- registerPropertyForBeanType(registry, HandleFault.class, camelContext::addInterceptStrategy);
+ registerPropertyForBeanType(registry, HandleFault.class, camelContext.adapt(ExtendedCamelContext.class)::addInterceptStrategy);
registerPropertyForBeanType(registry, InflightRepository.class, camelContext::setInflightRepository);
- registerPropertyForBeanType(registry, AsyncProcessorAwaitManager.class, camelContext::setAsyncProcessorAwaitManager);
+ registerPropertyForBeanType(registry, AsyncProcessorAwaitManager.class, camelContext.adapt(ExtendedCamelContext.class)::setAsyncProcessorAwaitManager);
registerPropertyForBeanType(registry, ManagementStrategy.class, camelContext::setManagementStrategy);
registerPropertyForBeanType(registry, ManagementObjectNameStrategy.class, managementStrategy::setManagementObjectNameStrategy);
registerPropertyForBeanType(registry, EventFactory.class, managementStrategy::setEventFactory);
- registerPropertyForBeanType(registry, UnitOfWorkFactory.class, camelContext::setUnitOfWorkFactory);
+ registerPropertyForBeanType(registry, UnitOfWorkFactory.class, camelContext.adapt(ExtendedCamelContext.class)::setUnitOfWorkFactory);
registerPropertyForBeanType(registry, RuntimeEndpointRegistry.class, camelContext::setRuntimeEndpointRegistry);
registerPropertiesForBeanTypes(registry, TypeConverters.class, camelContext.getTypeConverterRegistry()::addTypeConverters);
@@ -999,12 +1000,12 @@ public abstract class MainSupport extends ServiceSupport {
final Predicate<EventNotifier> containsEventNotifier = managementStrategy.getEventNotifiers()::contains;
registerPropertiesForBeanTypesWithCondition(registry, EventNotifier.class, containsEventNotifier.negate(), managementStrategy::addEventNotifier);
- registerPropertiesForBeanTypes(registry, EndpointStrategy.class, camelContext::addRegisterEndpointCallback);
+ registerPropertiesForBeanTypes(registry, EndpointStrategy.class, camelContext.adapt(ExtendedCamelContext.class)::registerEndpointCallback);
registerPropertyForBeanType(registry, ShutdownStrategy.class, camelContext::setShutdownStrategy);
- final Predicate<InterceptStrategy> containsInterceptStrategy = camelContext.getInterceptStrategies()::contains;
- registerPropertiesForBeanTypesWithCondition(registry, InterceptStrategy.class, containsInterceptStrategy.negate(), camelContext::addInterceptStrategy);
+ final Predicate<InterceptStrategy> containsInterceptStrategy = camelContext.adapt(ExtendedCamelContext.class).getInterceptStrategies()::contains;
+ registerPropertiesForBeanTypesWithCondition(registry, InterceptStrategy.class, containsInterceptStrategy.negate(), camelContext.adapt(ExtendedCamelContext.class)::addInterceptStrategy);
final Predicate<LifecycleStrategy> containsLifecycleStrategy = camelContext.getLifecycleStrategies()::contains;
registerPropertiesForBeanTypesWithCondition(registry, LifecycleStrategy.class, containsLifecycleStrategy.negate(), camelContext::addLifecycleStrategy);
@@ -1050,8 +1051,8 @@ public abstract class MainSupport extends ServiceSupport {
registerPropertyForBeanType(registry, RouteController.class, camelContext::setRouteController);
registerPropertyForBeanType(registry, UuidGenerator.class, camelContext::setUuidGenerator);
- final Predicate<LogListener> containsLogListener = camelContext.getLogListeners()::contains;
- registerPropertiesForBeanTypesWithCondition(registry, LogListener.class, containsLogListener.negate(), camelContext::addLogListener);
+ final Predicate<LogListener> containsLogListener = camelContext.adapt(ExtendedCamelContext.class).getLogListeners()::contains;
+ registerPropertiesForBeanTypesWithCondition(registry, LogListener.class, containsLogListener.negate(), camelContext.adapt(ExtendedCamelContext.class)::addLogListener);
registerPropertyForBeanType(registry, ExecutorServiceManager.class, camelContext::setExecutorServiceManager);
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java
index 5a7f399..3c375a3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/ModelHelper.java
@@ -36,6 +36,7 @@ import javax.xml.bind.Unmarshaller;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.TransformerException;
+import org.apache.camel.ExtendedCamelContext;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
@@ -340,7 +341,7 @@ public final class ModelHelper {
}
private static JAXBContext getJAXBContext(CamelContext context) throws JAXBException {
- ModelJAXBContextFactory factory = context.getModelJAXBContextFactory();
+ ModelJAXBContextFactory factory = context.adapt(ExtendedCamelContext.class).getModelJAXBContextFactory();
return factory.newJAXBContext();
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java
index cb47f78..0f0e7a7 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/RestContextRefDefinitionHelper.java
@@ -30,6 +30,7 @@ import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.model.language.NamespaceAwareExpression;
import org.apache.camel.model.rest.RestDefinition;
@@ -92,7 +93,7 @@ public final class RestContextRefDefinitionHelper {
private static synchronized JAXBContext getOrCreateJAXBContext(final CamelContext camelContext) throws JAXBException {
if (jaxbContext == null) {
// must use classloader from CamelContext to have JAXB working
- jaxbContext = camelContext.getModelJAXBContextFactory().newJAXBContext();
+ jaxbContext = camelContext.adapt(ExtendedCamelContext.class).getModelJAXBContextFactory().newJAXBContext();
}
return jaxbContext;
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java
index 967390e..45d570c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/RouteContextRefDefinitionHelper.java
@@ -30,6 +30,7 @@ import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.model.language.NamespaceAwareExpression;
import org.apache.camel.support.CamelContextHelper;
@@ -89,7 +90,7 @@ public final class RouteContextRefDefinitionHelper {
private static synchronized JAXBContext getOrCreateJAXBContext(final CamelContext camelContext) throws JAXBException {
if (jaxbContext == null) {
- jaxbContext = camelContext.getModelJAXBContextFactory().newJAXBContext();
+ jaxbContext = camelContext.adapt(ExtendedCamelContext.class).getModelJAXBContextFactory().newJAXBContext();
}
return jaxbContext;
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
index afbc382..62cc273 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/RouteDefinitionHelper.java
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.camel.CamelContext;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.ErrorHandlerBuilder;
import org.apache.camel.model.rest.RestDefinition;
@@ -166,7 +167,7 @@ public final class RouteDefinitionHelper {
boolean done = false;
String id = null;
while (!done) {
- id = route.idOrCreate(context.getNodeIdFactory());
+ id = route.idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory());
done = !customIds.contains(id);
}
route.setId(id);
@@ -184,7 +185,7 @@ public final class RouteDefinitionHelper {
if (rest != null && route.isRest()) {
VerbDefinition verb = findVerbDefinition(rest, route.getInput().getUri());
if (verb != null) {
- String id = verb.idOrCreate(context.getNodeIdFactory());
+ String id = verb.idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory());
if (!verb.getUsedForGeneratingNodeId()) {
id = route.getId();
}
@@ -448,7 +449,7 @@ public final class RouteDefinitionHelper {
// let the route inherit the error handler builder from camel context if none already set
// must clone to avoid side effects while building routes using multiple RouteBuilders
- ErrorHandlerFactory builder = context.getErrorHandlerFactory();
+ ErrorHandlerFactory builder = context.adapt(ExtendedCamelContext.class).getErrorHandlerFactory();
if (builder != null) {
if (builder instanceof ErrorHandlerBuilder) {
builder = ((ErrorHandlerBuilder) builder).cloneBuilder();
@@ -694,7 +695,7 @@ public final class RouteDefinitionHelper {
*/
public static void forceAssignIds(CamelContext context, final ProcessorDefinition processor) {
// force id on the child
- processor.idOrCreate(context.getNodeIdFactory());
+ processor.idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory());
// if there was a custom id assigned, then make sure to support property placeholders
if (processor.hasCustomIdAssigned()) {
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java
index b52cb24..32d203c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java
@@ -32,6 +32,7 @@ import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
import org.apache.camel.Expression;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.cloud.ServiceCallConstants;
import org.apache.camel.cloud.ServiceExpressionFactory;
@@ -226,7 +227,7 @@ public class ServiceCallExpressionConfiguration extends IdentifiedType implement
Class<?> type;
try {
// Then use Service factory.
- type = camelContext.getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
+ type = camelContext.adapt(ExtendedCamelContext.class).getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
} catch (Exception e) {
throw new NoFactoryAvailableException(ServiceCallDefinitionConstants.RESOURCE_PATH + factoryKey, e);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceChooserConfiguration.java b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceChooserConfiguration.java
index 550169f..313f15d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceChooserConfiguration.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceChooserConfiguration.java
@@ -29,6 +29,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.cloud.ServiceChooser;
import org.apache.camel.cloud.ServiceChooserFactory;
@@ -144,7 +145,7 @@ public class ServiceCallServiceChooserConfiguration extends IdentifiedType imple
Class<?> type;
try {
// Then use Service factory.
- type = camelContext.getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
+ type = camelContext.adapt(ExtendedCamelContext.class).getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
} catch (Exception e) {
throw new NoFactoryAvailableException(ServiceCallDefinitionConstants.RESOURCE_PATH + factoryKey, e);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceDiscoveryConfiguration.java b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceDiscoveryConfiguration.java
index 2ff3978..57c4ec4 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceDiscoveryConfiguration.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceDiscoveryConfiguration.java
@@ -30,6 +30,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.cloud.ServiceDiscovery;
import org.apache.camel.cloud.ServiceDiscoveryFactory;
@@ -151,7 +152,7 @@ public class ServiceCallServiceDiscoveryConfiguration extends IdentifiedType imp
Class<?> type;
try {
// Then use Service factory.
- type = camelContext.getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
+ type = camelContext.adapt(ExtendedCamelContext.class).getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
} catch (Exception e) {
throw new NoFactoryAvailableException(ServiceCallDefinitionConstants.RESOURCE_PATH + factoryKey, e);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceFilterConfiguration.java b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceFilterConfiguration.java
index 1c3112e..a0465a3 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceFilterConfiguration.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceFilterConfiguration.java
@@ -29,6 +29,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.cloud.ServiceFilter;
import org.apache.camel.cloud.ServiceFilterFactory;
@@ -144,7 +145,7 @@ public class ServiceCallServiceFilterConfiguration extends IdentifiedType implem
Class<?> type;
try {
// Then use Service factory.
- type = camelContext.getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
+ type = camelContext.adapt(ExtendedCamelContext.class).getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
} catch (Exception e) {
throw new NoFactoryAvailableException(ServiceCallDefinitionConstants.RESOURCE_PATH + factoryKey, e);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java
index 65a5468..6e42e34e 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java
@@ -29,6 +29,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NoFactoryAvailableException;
import org.apache.camel.cloud.ServiceLoadBalancer;
import org.apache.camel.cloud.ServiceLoadBalancerFactory;
@@ -144,7 +145,7 @@ public class ServiceCallServiceLoadBalancerConfiguration extends IdentifiedType
Class<?> type;
try {
// Then use Service factory.
- type = camelContext.getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
+ type = camelContext.adapt(ExtendedCamelContext.class).getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey);
} catch (Exception e) {
throw new NoFactoryAvailableException(ServiceCallDefinitionConstants.RESOURCE_PATH + factoryKey, e);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java b/core/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java
index eb22f4b..314e17c 100644
--- a/core/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java
+++ b/core/camel-core/src/main/java/org/apache/camel/model/rest/RestDefinition.java
@@ -32,6 +32,7 @@ import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.RuntimeCamelException;
import org.apache.camel.model.OptionalIdentifiedDefinition;
import org.apache.camel.model.ProcessorDefinition;
@@ -732,7 +733,7 @@ public class RestDefinition extends OptionalIdentifiedDefinition<RestDefinition>
String routeId = configuration.getApiContextRouteId();
if (routeId == null) {
- routeId = answer.idOrCreate(camelContext.getNodeIdFactory());
+ routeId = answer.idOrCreate(camelContext.adapt(ExtendedCamelContext.class).getNodeIdFactory());
}
options.put("routeId", routeId);
if (configuration.getComponent() != null && !configuration.getComponent().isEmpty()) {
diff --git a/core/camel-core/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java b/core/camel-core/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
index 876b25a..f65cb63 100644
--- a/core/camel-core/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
+++ b/core/camel-core/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
@@ -29,6 +29,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.Message;
import org.apache.camel.Navigate;
@@ -95,7 +96,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
ObjectHelper.notNull(redeliveryPolicy, "RedeliveryPolicy", this);
this.camelContext = camelContext;
- this.awaitManager = camelContext.getAsyncProcessorAwaitManager();
+ this.awaitManager = camelContext.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager();
this.redeliveryProcessor = redeliveryProcessor;
this.deadLetter = deadLetter;
this.output = output;
@@ -1299,7 +1300,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
if (redeliveryEnabled) {
if (executorService == null) {
// use default shared executor service
- executorService = camelContext.getErrorHandlerExecutorService();
+ executorService = camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerExecutorService();
}
if (log.isDebugEnabled()) {
log.debug("Using ExecutorService: {} for redeliveries on error handler: {}", executorService, this);
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java
index 67c0617..7b1a1d0 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/BeanReifier.java
@@ -17,6 +17,7 @@
package org.apache.camel.reifier;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.model.BeanDefinition;
import org.apache.camel.model.ProcessorDefinition;
@@ -38,7 +39,7 @@ class BeanReifier extends ProcessorReifier<BeanDefinition> {
String beanType = definition.getBeanType();
Class<?> beanClass = definition.getBeanClass();
- return camelContext.getBeanProcessorFactory().createBeanProcessor(camelContext,
+ return camelContext.adapt(ExtendedCamelContext.class).getBeanProcessorFactory().createBeanProcessor(camelContext,
bean, beanType, beanClass, ref, method, isCacheBean());
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
index aff3369..0751905 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/InterceptSendToEndpointReifier.java
@@ -20,6 +20,7 @@ import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.impl.engine.DefaultInterceptSendToEndpoint;
import org.apache.camel.model.InterceptSendToEndpointDefinition;
@@ -44,7 +45,7 @@ class InterceptSendToEndpointReifier extends ProcessorReifier<InterceptSendToEnd
final String matchURI = definition.getUri();
// register endpoint callback so we can proxy the endpoint
- routeContext.getCamelContext().addRegisterEndpointCallback(new EndpointStrategy() {
+ routeContext.getCamelContext().adapt(ExtendedCamelContext.class).registerEndpointCallback(new EndpointStrategy() {
public Endpoint registerEndpoint(String uri, Endpoint endpoint) {
if (endpoint instanceof DefaultInterceptSendToEndpoint) {
// endpoint already decorated
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/LogReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/LogReifier.java
index d4d8a8e..337e13d 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/LogReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/LogReifier.java
@@ -20,6 +20,7 @@ import java.util.Map;
import org.apache.camel.Exchange;
import org.apache.camel.Expression;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.Processor;
import org.apache.camel.model.LogDefinition;
@@ -87,7 +88,7 @@ class LogReifier extends ProcessorReifier<LogDefinition> {
LoggingLevel level = definition.getLoggingLevel() != null ? definition.getLoggingLevel() : LoggingLevel.INFO;
CamelLogger camelLogger = new CamelLogger(logger, level, definition.getMarker());
- return new LogProcessor(exp, camelLogger, getMaskingFormatter(routeContext), routeContext.getCamelContext().getLogListeners());
+ return new LogProcessor(exp, camelLogger, getMaskingFormatter(routeContext), routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getLogListeners());
}
private MaskingFormatter getMaskingFormatter(RouteContext routeContext) {
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 9cce0d2..9d1b615 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -25,6 +25,7 @@ import java.util.function.Function;
import org.apache.camel.Channel;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.model.AggregateDefinition;
import org.apache.camel.model.BeanDefinition;
@@ -222,8 +223,9 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
protected Processor createChildProcessor(RouteContext routeContext, boolean mandatory) throws Exception {
Processor children = null;
// at first use custom factory
- if (routeContext.getCamelContext().getProcessorFactory() != null) {
- children = routeContext.getCamelContext().getProcessorFactory().createChildProcessor(routeContext, definition, mandatory);
+ if (routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getProcessorFactory() != null) {
+ children = routeContext.getCamelContext().adapt(ExtendedCamelContext.class)
+ .getProcessorFactory().createChildProcessor(routeContext, definition, mandatory);
}
// fallback to default implementation if factory did not create the child
if (children == null) {
@@ -279,7 +281,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
channel.setNextProcessor(processor);
// add interceptor strategies to the channel must be in this order: camel context, route context, local
- addInterceptStrategies(routeContext, channel, routeContext.getCamelContext().getInterceptStrategies());
+ addInterceptStrategies(routeContext, channel, routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getInterceptStrategies());
addInterceptStrategies(routeContext, channel, routeContext.getInterceptStrategies());
addInterceptStrategies(routeContext, channel, definition.getInterceptStrategies());
@@ -448,7 +450,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
// inject id
if (processor instanceof IdAware) {
- String id = output.idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
+ String id = output.idOrCreate(routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getNodeIdFactory());
((IdAware) processor).setId(id);
}
@@ -476,8 +478,9 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
protected Processor createProcessor(RouteContext routeContext, ProcessorDefinition<?> output) throws Exception {
Processor processor = null;
// at first use custom factory
- if (routeContext.getCamelContext().getProcessorFactory() != null) {
- processor = routeContext.getCamelContext().getProcessorFactory().createProcessor(routeContext, output);
+ if (routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getProcessorFactory() != null) {
+ processor = routeContext.getCamelContext().adapt(ExtendedCamelContext.class)
+ .getProcessorFactory().createProcessor(routeContext, output);
}
// fallback to default implementation if factory did not create the processor
if (processor == null) {
@@ -527,8 +530,9 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
}
// at first use custom factory
- if (routeContext.getCamelContext().getProcessorFactory() != null) {
- processor = routeContext.getCamelContext().getProcessorFactory().createProcessor(routeContext, definition);
+ if (routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getProcessorFactory() != null) {
+ processor = routeContext.getCamelContext().adapt(ExtendedCamelContext.class)
+ .getProcessorFactory().createProcessor(routeContext, definition);
}
// fallback to default implementation if factory did not create the processor
if (processor == null) {
@@ -537,7 +541,7 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> {
// inject id
if (processor instanceof IdAware) {
- String id = definition.idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
+ String id = definition.idOrCreate(routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getNodeIdFactory());
((IdAware) processor).setId(id);
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java
index 2f6ca2a..9932134 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/RouteReifier.java
@@ -23,6 +23,7 @@ import java.util.StringTokenizer;
import org.apache.camel.CamelContext;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.FailedToCreateRouteException;
import org.apache.camel.NoSuchEndpointException;
import org.apache.camel.Processor;
@@ -89,7 +90,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
public Route createRoute(CamelContext camelContext) throws Exception {
@SuppressWarnings("deprecation")
- ErrorHandlerFactory handler = camelContext.getErrorHandlerFactory();
+ ErrorHandlerFactory handler = camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerFactory();
if (handler != null) {
definition.setErrorHandlerBuilderIfNull(handler);
}
@@ -161,7 +162,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> {
// we must check the error handler on builder is not the same as on camel context, as that would be the default
// context scoped error handler, in case no error handlers was configured
if (builder.getRouteCollection().getErrorHandlerFactory() != null
- && camelContext.getErrorHandlerFactory() != builder.getRouteCollection().getErrorHandlerFactory()) {
+ && camelContext.adapt(ExtendedCamelContext.class).getErrorHandlerFactory() != builder.getRouteCollection().getErrorHandlerFactory()) {
throw new IllegalArgumentException("You can not advice with error handlers. Remove the error handlers from the route builder.");
}
diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/StepReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/StepReifier.java
index 2960c5f..71d8880 100644
--- a/core/camel-core/src/main/java/org/apache/camel/reifier/StepReifier.java
+++ b/core/camel-core/src/main/java/org/apache/camel/reifier/StepReifier.java
@@ -18,6 +18,7 @@ package org.apache.camel.reifier;
import java.util.List;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.StepDefinition;
@@ -37,7 +38,7 @@ class StepReifier extends ProcessorReifier<StepDefinition> {
@Override
protected Processor createCompositeProcessor(RouteContext routeContext, List<Processor> list) throws Exception {
- String stepId = definition.idOrCreate(routeContext.getCamelContext().getNodeIdFactory());
+ String stepId = definition.idOrCreate(routeContext.getCamelContext().adapt(ExtendedCamelContext.class).getNodeIdFactory());
return StepProcessor.newInstance(routeContext.getCamelContext(), list, stepId);
}
}
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 b625a39..fd72b23 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
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.camel.Channel;
import org.apache.camel.ContextTestSupport;
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;
@@ -41,7 +42,7 @@ public class ContextErrorHandlerTest extends ContextTestSupport {
redeliveryPolicy.setUseExponentialBackOff(true);
DeadLetterChannelBuilder deadLetterChannelBuilder = new DeadLetterChannelBuilder("mock:error");
deadLetterChannelBuilder.setRedeliveryPolicy(redeliveryPolicy);
- context.setErrorHandlerFactory(deadLetterChannelBuilder);
+ context.adapt(ExtendedCamelContext.class).setErrorHandlerFactory(deadLetterChannelBuilder);
}
protected void startCamelContext() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerBuilderRefTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerBuilderRefTest.java
index 726d919..2479629 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerBuilderRefTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerBuilderRefTest.java
@@ -22,6 +22,7 @@ import java.util.UUID;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.impl.JndiRegistry;
import org.junit.Test;
@@ -43,7 +44,7 @@ public class ErrorHandlerBuilderRefTest extends ContextTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.setErrorHandlerFactory(errorHandlerBuilderRef);
+ context.adapt(ExtendedCamelContext.class).setErrorHandlerFactory(errorHandlerBuilderRef);
return context;
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/ComponentDiscoveryTest.java b/core/camel-core/src/test/java/org/apache/camel/component/ComponentDiscoveryTest.java
deleted file mode 100644
index 7295423..0000000
--- a/core/camel-core/src/test/java/org/apache/camel/component/ComponentDiscoveryTest.java
+++ /dev/null
@@ -1,60 +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.component;
-
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.SortedMap;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.support.CamelContextHelper;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Test we can auto discover components on the classpath
- */
-public class ComponentDiscoveryTest {
- private static final Logger LOG = LoggerFactory.getLogger(ComponentDiscoveryTest.class);
-
- @Test
- public void testComponentDiscovery() throws Exception {
- CamelContext context = new DefaultCamelContext();
-
- SortedMap<String, Properties> map = CamelContextHelper.findComponents(context);
- assertNotNull("Should never return null", map);
- assertTrue("Component map should never be empty", !map.isEmpty());
-
- String[] expectedComponentNames = {"file", "vm"};
- for (String expectedName : expectedComponentNames) {
- Properties properties = map.get(expectedName);
- assertTrue("Component map contain component: " + expectedName, properties != null);
- }
-
- Set<Map.Entry<String, Properties>> entries = map.entrySet();
- for (Map.Entry<String, Properties> entry : entries) {
- LOG.info("Found component {} with properties: {}", entry.getKey(), entry.getValue());
- }
- }
-
-}
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java
index 17d2c24..2e14387 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/log/LogListenerTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.log;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.impl.DefaultCamelContext;
@@ -34,7 +35,7 @@ public class LogListenerTest {
CamelContext context = createCamelContext();
MockEndpoint mock = context.getEndpoint("mock:foo", MockEndpoint.class);
mock.expectedMessageCount(1);
- context.addLogListener((exchange, camelLogger, message) -> {
+ context.adapt(ExtendedCamelContext.class).addLogListener((exchange, camelLogger, message) -> {
Assert.assertEquals("Exchange[ExchangePattern: InOnly, BodyType: String, Body: hello]", message);
listenerFired = true;
return message + " - modified by listener";
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java
index 21c8a27..2aa96ae 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/BeanInjectRouteBuilderTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.BeanInject;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spi.CamelBeanPostProcessor;
@@ -42,7 +43,7 @@ public class BeanInjectRouteBuilderTest extends ContextTestSupport {
CamelContext context = super.createCamelContext();
// manual post process us as ContextTestSupport in camel-core doesn't do that out of the box
- CamelBeanPostProcessor post = context.getBeanPostProcessor();
+ CamelBeanPostProcessor post = context.adapt(ExtendedCamelContext.class).getBeanPostProcessor();
post.postProcessBeforeInitialization(this, "MyRoute");
post.postProcessAfterInitialization(this, "MyRoute");
return context;
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java
index 8a5844c..82a82cb 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRestDefinitionsFromXmlTest.java
@@ -23,6 +23,7 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.rest.DummyRestConsumerFactory;
import org.apache.camel.component.rest.DummyRestProcessorFactory;
@@ -47,7 +48,7 @@ public class CamelContextAddRestDefinitionsFromXmlTest extends ContextTestSuppor
@Before
public void setUp() throws Exception {
super.setUp();
- jaxbContext = context.getModelJAXBContextFactory().newJAXBContext();
+ jaxbContext = context.adapt(ExtendedCamelContext.class).getModelJAXBContextFactory().newJAXBContext();
}
protected Object parseUri(String uri) throws JAXBException {
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRouteDefinitionsFromXmlTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRouteDefinitionsFromXmlTest.java
index 13ab63d..cda3d8e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRouteDefinitionsFromXmlTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/CamelContextAddRouteDefinitionsFromXmlTest.java
@@ -23,6 +23,7 @@ import javax.xml.bind.Unmarshaller;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
@@ -37,7 +38,7 @@ public class CamelContextAddRouteDefinitionsFromXmlTest extends ContextTestSuppo
@Before
public void setUp() throws Exception {
super.setUp();
- jaxbContext = context.getModelJAXBContextFactory().newJAXBContext();
+ jaxbContext = context.adapt(ExtendedCamelContext.class).getModelJAXBContextFactory().newJAXBContext();
}
protected Object parseUri(String uri) throws JAXBException {
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/CamelProduceInterfaceEventNotifierTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/CamelProduceInterfaceEventNotifierTest.java
index 48eb89e..5b549b0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/CamelProduceInterfaceEventNotifierTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/CamelProduceInterfaceEventNotifierTest.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Produce;
import org.apache.camel.spi.CamelBeanPostProcessor;
import org.apache.camel.spi.CamelEvent;
@@ -76,7 +77,7 @@ public class CamelProduceInterfaceEventNotifierTest extends ContextTestSupport {
@Before
public void setUp() throws Exception {
super.setUp();
- postProcessor = context.getBeanPostProcessor();
+ postProcessor = context.adapt(ExtendedCamelContext.class).getBeanPostProcessor();
}
interface FooService {
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
index 6bcb218..699e901 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/CustomIdFactoryTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -58,14 +59,14 @@ public class CustomIdFactoryTest extends ContextTestSupport {
@Override
public void configure() throws Exception {
// use our own id factory so we can generate the keys we like to use
- context.setNodeIdFactory(new NodeIdFactory() {
+ context.adapt(ExtendedCamelContext.class).setNodeIdFactory(new NodeIdFactory() {
public String createId(NamedNode definition) {
return "#" + definition.getShortName() + ++counter + "#";
}
});
// add our debugger so we can debug camel routes when we send in messages
- context.addInterceptStrategy(new MyDebuggerCheckingId());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new MyDebuggerCheckingId());
// a little content based router so we got 2 paths to route at runtime
from("direct:start")
@@ -117,7 +118,7 @@ public class CustomIdFactoryTest extends ContextTestSupport {
// MUST DO THIS
// force id creation as sub nodes have lazy assigned ids
- ((OptionalIdentifiedDefinition<?>) definition).idOrCreate(context.getNodeIdFactory());
+ ((OptionalIdentifiedDefinition<?>) definition).idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory());
return new DelegateProcessor(target) {
@Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/CustomUnitOfWorkFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/CustomUnitOfWorkFactoryTest.java
index ad1e3f1..877d390 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/CustomUnitOfWorkFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/CustomUnitOfWorkFactoryTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.engine.DefaultUnitOfWork;
@@ -32,7 +33,7 @@ public class CustomUnitOfWorkFactoryTest extends ContextTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.setUnitOfWorkFactory(new MyUnitOfWorkFactory());
+ context.adapt(ExtendedCamelContext.class).setUnitOfWorkFactory(new MyUnitOfWorkFactory());
return context;
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelBeanPostProcessorTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelBeanPostProcessorTest.java
index 0c9b282..e27c206 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelBeanPostProcessorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/DefaultCamelBeanPostProcessorTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl;
import org.apache.camel.BindToRegistry;
import org.apache.camel.Consume;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.spi.CamelBeanPostProcessor;
@@ -58,7 +59,7 @@ public class DefaultCamelBeanPostProcessorTest extends ContextTestSupport {
@Before
public void setUp() throws Exception {
super.setUp();
- postProcessor = context.getBeanPostProcessor();
+ postProcessor = context.adapt(ExtendedCamelContext.class).getBeanPostProcessor();
}
@BindToRegistry
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyCustomTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyCustomTest.java
index 9ecf81a..7ff8bf5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyCustomTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyCustomTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.impl;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Producer;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.engine.InterceptSendToMockEndpointStrategy;
@@ -38,7 +39,7 @@ public class InterceptSendToMockEndpointStrategyCustomTest extends ContextTestSu
@Test
public void testAdvisedMockEndpoints() throws Exception {
- context.addRegisterEndpointCallback(new MyStrategy());
+ context.adapt(ExtendedCamelContext.class).registerEndpointCallback(new MyStrategy());
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyTest.java
index fe6e5dc..f51e106 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/InterceptSendToMockEndpointStrategyTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.impl;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.engine.InterceptSendToMockEndpointStrategy;
import org.junit.Test;
@@ -25,7 +26,7 @@ public class InterceptSendToMockEndpointStrategyTest extends ContextTestSupport
@Test
public void testAdvisedMockEndpoints() throws Exception {
- context.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy());
+ context.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy());
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -58,7 +59,7 @@ public class InterceptSendToMockEndpointStrategyTest extends ContextTestSupport
@Test
public void testAdvisedMockEndpointsWithPattern() throws Exception {
- context.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy("log*"));
+ context.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy("log*"));
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java
index 621804d..5bc0d17 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/model/RouteIdFactoryTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.impl.model;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.rest.DummyRestConsumerFactory;
import org.apache.camel.component.rest.DummyRestProcessorFactory;
@@ -39,7 +40,7 @@ public class RouteIdFactoryTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- context.setNodeIdFactory(new RouteIdFactory());
+ context.adapt(ExtendedCamelContext.class).setNodeIdFactory(new RouteIdFactory());
from("direct:start1?timeout=30000").to("mock:result");
from("direct:start2").to("mock:result");
rest("/say/hello").get("/bar").to("mock:result");
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java
index 1d4c9fc..0f56c6c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/AdviceWithStartTargetIssueTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.issues;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -60,7 +61,7 @@ public class AdviceWithStartTargetIssueTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- getContext().addInterceptStrategy(new ContainerWideInterceptor());
+ getContext().adapt(ExtendedCamelContext.class).addInterceptStrategy(new ContainerWideInterceptor());
from("direct:start").to("mock:foo").to("mock:result");
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionMultipleRouteBuildersTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionMultipleRouteBuildersTest.java
index 1632898..27f7672 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionMultipleRouteBuildersTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ContextScopedOnExceptionMultipleRouteBuildersTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.issues;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.DeadLetterChannelBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.junit.Test;
@@ -51,7 +52,7 @@ public class ContextScopedOnExceptionMultipleRouteBuildersTest extends ContextTe
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.setErrorHandlerFactory(new DeadLetterChannelBuilder("mock:dead"));
+ context.adapt(ExtendedCamelContext.class).setErrorHandlerFactory(new DeadLetterChannelBuilder("mock:dead"));
return context;
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java
index ad2a71d..0f21364 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/DynamicRouterWithInterceptorTest.java
@@ -21,6 +21,7 @@ import org.apache.camel.Body;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Header;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
@@ -103,7 +104,7 @@ public class DynamicRouterWithInterceptorTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- context.addInterceptStrategy(interceptStrategy);
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(interceptStrategy);
from("direct:start")
.dynamicRouter(method(DynamicRouterWithInterceptorTest.class, "slip"))
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionContinuedIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionContinuedIssueTest.java
index 8194078..68b065f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionContinuedIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/OnExceptionContinuedIssueTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.issues;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.builder.DeadLetterChannelBuilder;
import org.apache.camel.builder.DefaultErrorHandlerBuilder;
@@ -37,7 +38,7 @@ public class OnExceptionContinuedIssueTest extends ContextTestSupport {
defaultErrorHandlerBuilder.redeliveryDelay(0); // run fast
defaultErrorHandlerBuilder.maximumRedeliveries(2);
- context.setErrorHandlerFactory(defaultErrorHandlerBuilder);
+ context.adapt(ExtendedCamelContext.class).setErrorHandlerFactory(defaultErrorHandlerBuilder);
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java
index 0d6efcd..4b0d486 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/RecipientListWithInterceptorTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -101,7 +102,7 @@ public class RecipientListWithInterceptorTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- context.addInterceptStrategy(interceptStrategy);
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(interceptStrategy);
from("direct:start")
.recipientList(header("slip"))
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/RouteScopedOnExceptionMultipleRouteBuildersTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/RouteScopedOnExceptionMultipleRouteBuildersTest.java
index 0f2ca93..66cb4d8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/RouteScopedOnExceptionMultipleRouteBuildersTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/RouteScopedOnExceptionMultipleRouteBuildersTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.issues;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.DeadLetterChannelBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
@@ -53,7 +54,7 @@ public class RouteScopedOnExceptionMultipleRouteBuildersTest extends ContextTest
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = new DefaultCamelContext(createRegistry());
- context.setErrorHandlerFactory(new DeadLetterChannelBuilder("mock:dead"));
+ context.adapt(ExtendedCamelContext.class).setErrorHandlerFactory(new DeadLetterChannelBuilder("mock:dead"));
return context;
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java
index acc0cfe..bf336ea 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/RoutingSlipWithInterceptorTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -101,7 +102,7 @@ public class RoutingSlipWithInterceptorTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- context.addInterceptStrategy(interceptStrategy);
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(interceptStrategy);
from("direct:start")
.routingSlip(header("slip"))
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java
index e4fbb8ea..9fb12cb 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/SplitWithInterceptorTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -97,7 +98,7 @@ public class SplitWithInterceptorTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- context.addInterceptStrategy(interceptStrategy);
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(interceptStrategy);
from("direct:start")
.split(body().tokenize(","))
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/ThreadsDoTryCatchInterceptSendToAllEndpointIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/issues/ThreadsDoTryCatchInterceptSendToAllEndpointIssueTest.java
index 1ebe4ca..164b0ef 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/ThreadsDoTryCatchInterceptSendToAllEndpointIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/ThreadsDoTryCatchInterceptSendToAllEndpointIssueTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.issues;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.engine.InterceptSendToMockEndpointStrategy;
import org.junit.Test;
@@ -41,7 +42,7 @@ public class ThreadsDoTryCatchInterceptSendToAllEndpointIssueTest extends Contex
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
// mock all endpoints
- context.addRegisterEndpointCallback(new InterceptSendToMockEndpointStrategy("*"));
+ context.adapt(ExtendedCamelContext.class).registerEndpointCallback(new InterceptSendToMockEndpointStrategy("*"));
return new RouteBuilder() {
@Override
diff --git a/core/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java b/core/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java
index 11c288d..7ddc20d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java
+++ b/core/camel-core/src/test/java/org/apache/camel/issues/TwoTimerWithJMXIssue.java
@@ -18,6 +18,7 @@ package org.apache.camel.issues;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -50,7 +51,7 @@ public class TwoTimerWithJMXIssue extends ContextTestSupport {
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() throws Exception {
- context.addInterceptStrategy(new MyTracer());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new MyTracer());
from("timer://kickoff_1?period=250").from("timer://kickoff_2?period=250&delay=10").to("mock:result");
}
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 6f97c5a..986df4b 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
@@ -20,6 +20,7 @@ import java.util.Map;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -38,7 +39,7 @@ public class CustomProcessorFactoryTest extends ContextTestSupport {
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
// register our custom factory
- context.setProcessorFactory(new MyFactory());
+ context.adapt(ExtendedCamelContext.class).setProcessorFactory(new MyFactory());
return context;
}
// END SNIPPET: e1
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/FaultRetryRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/FaultRetryRouteTest.java
index ac071be..f99c8d6 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/FaultRetryRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/FaultRetryRouteTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.processor;
import org.apache.camel.CamelException;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.LoggingLevel;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -65,7 +66,7 @@ public class FaultRetryRouteTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- getContext().addInterceptStrategy(new HandleFault());
+ getContext().adapt(ExtendedCamelContext.class).addInterceptStrategy(new HandleFault());
errorHandler(
deadLetterChannel("mock:error")
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/FaultRouteTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/FaultRouteTest.java
index ef6c04b..d96d0a7 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/FaultRouteTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/FaultRouteTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.processor;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -81,7 +82,7 @@ public class FaultRouteTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() {
- getContext().addInterceptStrategy(new HandleFault());
+ getContext().adapt(ExtendedCamelContext.class).addInterceptStrategy(new HandleFault());
from("direct:start").to("mock:a").to("mock:b");
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java
index a2c79db..977abd8 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/LogEipListenerTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.processor;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.impl.DefaultCamelContext;
@@ -34,7 +35,7 @@ public class LogEipListenerTest {
CamelContext context = createCamelContext();
MockEndpoint mock = context.getEndpoint("mock:foo", MockEndpoint.class);
mock.expectedMessageCount(1);
- context.addLogListener((exchange, camelLogger, message) -> {
+ context.adapt(ExtendedCamelContext.class).addLogListener((exchange, camelLogger, message) -> {
Assert.assertEquals("Got hello", message);
listenerFired = true;
return message + " - modified by listener";
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java
index dd6c0fe..101e748 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/PipelineStepWithEventTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -92,7 +93,7 @@ public class PipelineStepWithEventTest extends ContextTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.addInterceptStrategy(new MyInterceptStrategy());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new MyInterceptStrategy());
// register the event listener
context.addService(listener);
return context;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java
index 34f85a9..f83121d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomAsyncInterceptorTest.java
@@ -22,6 +22,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -57,7 +58,7 @@ public class AsyncEndpointCustomAsyncInterceptorTest extends ContextTestSupport
@Override
public void configure() throws Exception {
context.addComponent("async", new MyAsyncComponent());
- context.addInterceptStrategy(interceptor);
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(interceptor);
from("direct:start")
.to("mock:before")
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java
index 23fe866..b5063e0 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomInterceptorTest.java
@@ -22,6 +22,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -63,7 +64,7 @@ public class AsyncEndpointCustomInterceptorTest extends ContextTestSupport {
@Override
public void configure() throws Exception {
context.addComponent("async", new MyAsyncComponent());
- context.addInterceptStrategy(interceptor);
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(interceptor);
from("direct:start")
.to("mock:before")
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 76f4598..bc8c4e6 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
@@ -22,6 +22,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -132,7 +133,7 @@ public class AsyncEndpointPolicyTest extends ContextTestSupport {
}
public void process(Exchange exchange) throws Exception {
- final AsyncProcessorAwaitManager awaitManager = exchange.getContext().getAsyncProcessorAwaitManager();
+ final AsyncProcessorAwaitManager awaitManager = exchange.getContext().adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager();
awaitManager.process(this, exchange);
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptTest.java
index 11cb701..9ce4a5e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptTest.java
@@ -22,6 +22,7 @@ import java.util.concurrent.RejectedExecutionException;
import org.apache.camel.CamelExecutionException;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
@@ -31,9 +32,9 @@ public class AsyncProcessorAwaitManagerInterruptTest extends ContextTestSupport
@Test
public void testAsyncAwaitInterrupt() throws Exception {
- context.getAsyncProcessorAwaitManager().getStatistics().setStatisticsEnabled(true);
+ context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().setStatisticsEnabled(true);
- assertEquals(0, context.getAsyncProcessorAwaitManager().size());
+ assertEquals(0, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size());
getMockEndpoint("mock:before").expectedBodiesReceived("Hello Camel");
getMockEndpoint("mock:after").expectedBodiesReceived("Bye Camel");
@@ -48,9 +49,9 @@ public class AsyncProcessorAwaitManagerInterruptTest extends ContextTestSupport
assertMockEndpointsSatisfied();
- assertEquals(0, context.getAsyncProcessorAwaitManager().size());
- assertEquals(1, context.getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
- assertEquals(1, context.getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
+ assertEquals(0, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size());
+ assertEquals(1, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
+ assertEquals(1, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
}
@Override
@@ -67,16 +68,16 @@ public class AsyncProcessorAwaitManagerInterruptTest extends ContextTestSupport
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- int size = context.getAsyncProcessorAwaitManager().size();
+ int size = context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size();
log.info("async inflight: {}", size);
assertEquals(1, size);
- Collection<AsyncProcessorAwaitManager.AwaitThread> threads = context.getAsyncProcessorAwaitManager().browse();
+ Collection<AsyncProcessorAwaitManager.AwaitThread> threads = context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().browse();
AsyncProcessorAwaitManager.AwaitThread thread = threads.iterator().next();
// lets interrupt it
String id = thread.getExchange().getExchangeId();
- context.getAsyncProcessorAwaitManager().interrupt(id);
+ context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().interrupt(id);
}
})
.transform(constant("Hi Camel"))
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java
index edf2dc4..52f7ba1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerInterruptWithRedeliveryTest.java
@@ -24,6 +24,7 @@ import javax.naming.Context;
import org.apache.camel.CamelExecutionException;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.support.jndi.JndiContext;
@@ -48,9 +49,9 @@ public class AsyncProcessorAwaitManagerInterruptWithRedeliveryTest extends Conte
@Test
public void testAsyncAwaitInterrupt() throws Exception {
- context.getAsyncProcessorAwaitManager().getStatistics().setStatisticsEnabled(true);
+ context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().setStatisticsEnabled(true);
- assertEquals(0, context.getAsyncProcessorAwaitManager().size());
+ assertEquals(0, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size());
getMockEndpoint("mock:before").expectedBodiesReceived("Hello Camel");
getMockEndpoint("mock:result").expectedMessageCount(0);
@@ -70,9 +71,9 @@ public class AsyncProcessorAwaitManagerInterruptWithRedeliveryTest extends Conte
// Check we have not reached the full 5 re-deliveries
verify(bean, atMost(4)).callMe();
- assertEquals(0, context.getAsyncProcessorAwaitManager().size());
- assertEquals(1, context.getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
- assertEquals(1, context.getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
+ assertEquals(0, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size());
+ assertEquals(1, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
+ assertEquals(1, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
}
private void createThreadToInterrupt() {
@@ -85,15 +86,15 @@ public class AsyncProcessorAwaitManagerInterruptWithRedeliveryTest extends Conte
}
// Get our blocked thread
- int size = context.getAsyncProcessorAwaitManager().size();
+ int size = context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size();
assertEquals(1, size);
- Collection<AsyncProcessorAwaitManager.AwaitThread> threads = context.getAsyncProcessorAwaitManager().browse();
+ Collection<AsyncProcessorAwaitManager.AwaitThread> threads = context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().browse();
AsyncProcessorAwaitManager.AwaitThread thread = threads.iterator().next();
// Interrupt it
String id = thread.getExchange().getExchangeId();
- context.getAsyncProcessorAwaitManager().interrupt(id);
+ context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().interrupt(id);
}).start();
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerTest.java
index fcdd516..3fee03e 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/AsyncProcessorAwaitManagerTest.java
@@ -20,6 +20,7 @@ import java.util.Collection;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
@@ -29,9 +30,9 @@ public class AsyncProcessorAwaitManagerTest extends ContextTestSupport {
@Test
public void testAsyncAwait() throws Exception {
- context.getAsyncProcessorAwaitManager().getStatistics().setStatisticsEnabled(true);
+ context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().setStatisticsEnabled(true);
- assertEquals(0, context.getAsyncProcessorAwaitManager().size());
+ assertEquals(0, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size());
getMockEndpoint("mock:before").expectedBodiesReceived("Hello Camel");
getMockEndpoint("mock:after").expectedBodiesReceived("Bye Camel");
@@ -42,9 +43,9 @@ public class AsyncProcessorAwaitManagerTest extends ContextTestSupport {
assertMockEndpointsSatisfied();
- assertEquals(0, context.getAsyncProcessorAwaitManager().size());
- assertEquals(1, context.getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
- assertEquals(0, context.getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
+ assertEquals(0, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size());
+ assertEquals(1, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
+ assertEquals(0, context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
}
@Override
@@ -61,11 +62,11 @@ public class AsyncProcessorAwaitManagerTest extends ContextTestSupport {
.process(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
- int size = context.getAsyncProcessorAwaitManager().size();
+ int size = context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().size();
log.info("async inflight: {}", size);
assertEquals(1, size);
- Collection<AsyncProcessorAwaitManager.AwaitThread> threads = context.getAsyncProcessorAwaitManager().browse();
+ Collection<AsyncProcessorAwaitManager.AwaitThread> threads = context.adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager().browse();
AsyncProcessorAwaitManager.AwaitThread thread = threads.iterator().next();
long wait = thread.getWaitDuration();
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java
index b86f2d5..0761a0a 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/intercept/ParentChildInterceptStrategyTest.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -64,7 +65,7 @@ public class ParentChildInterceptStrategyTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- context.addInterceptStrategy(new MyParentChildInterceptStrategy());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new MyParentChildInterceptStrategy());
from("direct:start").routeId("route")
.to("mock:a").id("task-a")
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java
index ddf5bde..971f752 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorAsyncDelegateIssueTest.java
@@ -19,6 +19,7 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -71,7 +72,7 @@ public class AuditInterceptorAsyncDelegateIssueTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- getContext().addInterceptStrategy(strategy);
+ getContext().adapt(ExtendedCamelContext.class).addInterceptStrategy(strategy);
onException(IllegalArgumentException.class)
.handled(true)
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java
index 9d75287..259cc28 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/AuditInterceptorDelegateIssueTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.processor.interceptor;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -70,7 +71,7 @@ public class AuditInterceptorDelegateIssueTest extends ContextTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- getContext().addInterceptStrategy(strategy);
+ getContext().adapt(ExtendedCamelContext.class).addInterceptStrategy(strategy);
onException(IllegalArgumentException.class)
.handled(true)
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java
index e15842a..cdacf14 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/CustomInterceptorRouteWithChildOutputTest.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -62,7 +63,7 @@ public class CustomInterceptorRouteWithChildOutputTest extends ContextTestSuppor
@Override
public void configure() throws Exception {
// add our custom interceptor
- context.addInterceptStrategy(myInterceptor);
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(myInterceptor);
from("direct:start")
.split(body().tokenize(","))
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java
index c872cb2..9cd9950 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyNotOrderedTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.processor.interceptor;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
@@ -43,8 +44,8 @@ public class InterceptorStrategyNotOrderedTest extends ContextTestSupport {
@Override
public void configure() throws Exception {
// interceptors should be invoked in the default order they are added
- context.addInterceptStrategy(new FooInterceptStrategy());
- context.addInterceptStrategy(new BarInterceptStrategy());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new FooInterceptStrategy());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new BarInterceptStrategy());
from("direct:start").to("mock:result");
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java
index 6b2b524..55c2e64 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/interceptor/InterceptorStrategyOrderedTest.java
@@ -19,6 +19,7 @@ package org.apache.camel.processor.interceptor;
import org.apache.camel.CamelContext;
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.Ordered;
import org.apache.camel.Processor;
@@ -44,8 +45,8 @@ public class InterceptorStrategyOrderedTest extends ContextTestSupport {
@Override
public void configure() throws Exception {
// interceptors should be invoked according to how they are ordered
- context.addInterceptStrategy(new BarInterceptStrategy());
- context.addInterceptStrategy(new FooInterceptStrategy());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new BarInterceptStrategy());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new FooInterceptStrategy());
from("direct:start").to("mock:result");
}
diff --git a/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementAgent.java b/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
index e35ca5a..0906df0 100644
--- a/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
+++ b/core/camel-management-impl/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
@@ -44,6 +44,7 @@ import javax.management.remote.JMXServiceURL;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.api.management.JmxSystemPropertyKeys;
import org.apache.camel.spi.ManagementAgent;
@@ -393,7 +394,7 @@ public class DefaultManagementAgent extends ServiceSupport implements Management
}
// ensure assembler is started
- assembler = camelContext.getManagementMBeanAssembler();
+ assembler = camelContext.adapt(ExtendedCamelContext.class).getManagementMBeanAssembler();
if (assembler == null) {
assembler = new DefaultManagementMBeanAssembler(camelContext);
}
diff --git a/core/camel-management-impl/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java b/core/camel-management-impl/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
index 58f3d0ab..606acd6 100644
--- a/core/camel-management-impl/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
+++ b/core/camel-management-impl/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
@@ -37,6 +37,7 @@ import org.apache.camel.Component;
import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.NamedNode;
import org.apache.camel.NonManagedService;
@@ -916,7 +917,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li
}
// always register if we are setting up routes
- if (getCamelContext().isSetupRoutes()) {
+ if (getCamelContext().adapt(ExtendedCamelContext.class).isSetupRoutes()) {
return true;
}
diff --git a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index 22fa65e..a5a6272 100644
--- a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.apache.camel.ExtendedCamelContext;
import org.w3c.dom.Document;
import org.apache.camel.CamelContext;
@@ -119,7 +120,7 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti
}
public String getPackageScanClassResolver() {
- return context.getPackageScanClassResolver().getClass().getName();
+ return context.adapt(ExtendedCamelContext.class).getPackageScanClassResolver().getClass().getName();
}
public String getApplicationContextClassName() {
diff --git a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
index ac60b5b..c7186ad 100644
--- a/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
+++ b/core/camel-management-impl/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
@@ -17,6 +17,7 @@
package org.apache.camel.management.mbean;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
@@ -45,14 +46,14 @@ public class ManagedProcessor extends ManagedPerformanceCounter implements Manag
this.context = context;
this.processor = processor;
this.definition = definition;
- this.id = definition.idOrCreate(context.getNodeIdFactory());
+ this.id = definition.idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory());
StepDefinition step;
if (definition instanceof StepDefinition) {
step = (StepDefinition) definition;
} else {
step = ProcessorDefinitionHelper.findFirstParentOfType(StepDefinition.class, definition, true);
}
- this.stepId = step != null ? step.idOrCreate(context.getNodeIdFactory()) : null;
+ this.stepId = step != null ? step.idOrCreate(context.adapt(ExtendedCamelContext.class).getNodeIdFactory()) : null;
}
@Override
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorHelper.java
index 167077f..45c1f72 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorHelper.java
@@ -18,6 +18,7 @@ package org.apache.camel.support;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
/**
@@ -42,7 +43,7 @@ public final class AsyncProcessorHelper {
* @throws Exception can be thrown if waiting is interrupted
*/
public static void process(final AsyncProcessor processor, final Exchange exchange) throws Exception {
- final AsyncProcessorAwaitManager awaitManager = exchange.getContext().getAsyncProcessorAwaitManager();
+ final AsyncProcessorAwaitManager awaitManager = exchange.getContext().adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager();
awaitManager.process(processor, exchange);
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorSupport.java
index 828c66d..42a8827 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorSupport.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorSupport.java
@@ -20,6 +20,7 @@ import java.util.concurrent.CompletableFuture;
import org.apache.camel.AsyncProcessor;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
import org.apache.camel.support.service.ServiceSupport;
@@ -35,7 +36,7 @@ public abstract class AsyncProcessorSupport extends ServiceSupport implements As
@Override
public void process(Exchange exchange) throws Exception {
- AsyncProcessorAwaitManager awaitManager = exchange.getContext().getAsyncProcessorAwaitManager();
+ AsyncProcessorAwaitManager awaitManager = exchange.getContext().adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager();
awaitManager.process(this, exchange);
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java
index d63da74..b275b9e 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/CamelContextHelper.java
@@ -16,33 +16,21 @@
*/
package org.apache.camel.support;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import java.util.SortedMap;
-import java.util.StringTokenizer;
-import java.util.TreeMap;
import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
-import org.apache.camel.LoadPropertiesException;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.NamedNode;
import org.apache.camel.NoSuchBeanException;
import org.apache.camel.NoSuchEndpointException;
-import org.apache.camel.spi.ClassResolver;
import org.apache.camel.spi.RouteStartupOrder;
-import org.apache.camel.util.IOHelper;
import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+
import static org.apache.camel.util.ObjectHelper.isNotEmpty;
import static org.apache.camel.util.ObjectHelper.notNull;
@@ -50,12 +38,8 @@ import static org.apache.camel.util.ObjectHelper.notNull;
* A number of helper methods
*/
public final class CamelContextHelper {
- public static final String COMPONENT_BASE = "META-INF/services/org/apache/camel/component/";
- public static final String COMPONENT_DESCRIPTOR = "META-INF/services/org/apache/camel/component.properties";
public static final String MODEL_DOCUMENTATION_PREFIX = "org/apache/camel/model/";
- private static final Logger LOG = LoggerFactory.getLogger(CamelContextHelper.class);
-
/**
* Utility classes should not have a public constructor.
*/
@@ -481,108 +465,6 @@ public final class CamelContextHelper {
}
/**
- * Finds all possible Components on the classpath, already registered in {@link org.apache.camel.CamelContext},
- * and from the {@link org.apache.camel.spi.Registry}.
- */
- public static SortedMap<String, Properties> findComponents(CamelContext camelContext) throws LoadPropertiesException {
- ClassResolver resolver = camelContext.getClassResolver();
- LOG.debug("Finding all components using class resolver: {}", resolver);
- Enumeration<URL> iter = resolver.loadAllResourcesAsURL(COMPONENT_DESCRIPTOR);
- return findComponents(camelContext, iter);
- }
-
- public static SortedMap<String, Properties> findComponents(CamelContext camelContext, Enumeration<URL> componentDescriptionIter)
- throws LoadPropertiesException {
-
- SortedMap<String, Properties> map = new TreeMap<>();
- while (componentDescriptionIter != null && componentDescriptionIter.hasMoreElements()) {
- URL url = componentDescriptionIter.nextElement();
- LOG.trace("Finding components in url: {}", url);
- try {
- Properties properties = new Properties();
- properties.load(url.openStream());
- String names = properties.getProperty("components");
- if (names != null) {
- StringTokenizer tok = new StringTokenizer(names);
- while (tok.hasMoreTokens()) {
- String name = tok.nextToken();
-
- // try to find the class name for this component
- String className = null;
- InputStream is = null;
- try {
- // now load the component name resource so we can grab its properties and the class name
- Enumeration<URL> urls = camelContext.getClassResolver().loadAllResourcesAsURL(COMPONENT_BASE + name);
- if (urls != null && urls.hasMoreElements()) {
- is = urls.nextElement().openStream();
- }
- if (is != null) {
- Properties compProperties = new Properties();
- compProperties.load(is);
- if (!compProperties.isEmpty()) {
- className = compProperties.getProperty("class");
- }
- }
- } catch (Exception e) {
- // ignore
- } finally {
- IOHelper.close(is);
- }
-
- // inherit properties we loaded first, as it has maven details
- Properties prop = new Properties();
- prop.putAll(properties);
- if (camelContext.hasComponent(name) != null) {
- prop.put("component", camelContext.getComponent(name));
- }
- if (className != null) {
- prop.put("class", className);
- }
- prop.put("name", name);
- map.put(name, prop);
- }
- }
- } catch (IOException e) {
- throw new LoadPropertiesException(url, e);
- }
- }
-
- // lets see what other components are registered on camel context
- List<String> names = camelContext.getComponentNames();
- for (String name : names) {
- if (!map.containsKey(name)) {
- Component component = camelContext.getComponent(name);
- if (component != null) {
- Properties properties = new Properties();
- properties.put("component", component);
- properties.put("class", component.getClass().getName());
- properties.put("name", name);
- // override default component if name clash
- map.put(name, properties);
- }
- }
- }
-
- // lets see what other components are in the registry
- Map<String, Component> beanMap = camelContext.getRegistry().findByTypeWithName(Component.class);
- Set<Map.Entry<String, Component>> entries = beanMap.entrySet();
- for (Map.Entry<String, Component> entry : entries) {
- String name = entry.getKey();
- if (!map.containsKey(name)) {
- Component component = entry.getValue();
- if (component != null) {
- Properties properties = new Properties();
- properties.put("component", component);
- properties.put("class", component.getClass().getName());
- properties.put("name", name);
- map.put(name, properties);
- }
- }
- }
- return map;
- }
-
- /**
* Gets the route startup order for the given route id
*
* @param camelContext the camel context
@@ -590,7 +472,7 @@ public final class CamelContextHelper {
* @return the startup order, or <tt>0</tt> if not possible to determine
*/
public static int getRouteStartupOrder(CamelContext camelContext, String routeId) {
- for (RouteStartupOrder order : camelContext.getRouteStartupOrder()) {
+ for (RouteStartupOrder order : camelContext.adapt(ExtendedCamelContext.class).getRouteStartupOrder()) {
if (order.getRoute().getId().equals(routeId)) {
return order.getStartupOrder();
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultAsyncProducer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultAsyncProducer.java
index 14ff478..4d71e4f 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultAsyncProducer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultAsyncProducer.java
@@ -21,6 +21,7 @@ import java.util.concurrent.CompletableFuture;
import org.apache.camel.AsyncProducer;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.spi.AsyncProcessorAwaitManager;
/**
@@ -34,7 +35,7 @@ public abstract class DefaultAsyncProducer extends DefaultProducer implements As
}
public void process(Exchange exchange) throws Exception {
- AsyncProcessorAwaitManager awaitManager = exchange.getContext().getAsyncProcessorAwaitManager();
+ AsyncProcessorAwaitManager awaitManager = exchange.getContext().adapt(ExtendedCamelContext.class).getAsyncProcessorAwaitManager();
awaitManager.process(this, exchange);
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
index b6eadb5..ad24ea5 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java
@@ -20,6 +20,7 @@ import org.apache.camel.AsyncProcessor;
import org.apache.camel.Consumer;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.RouteAware;
@@ -81,7 +82,7 @@ public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAw
exchange.setFromRouteId(route.getId());
}
- UnitOfWork uow = endpoint.getCamelContext().getUnitOfWorkFactory().createUnitOfWork(exchange);
+ UnitOfWork uow = endpoint.getCamelContext().adapt(ExtendedCamelContext.class).getUnitOfWorkFactory().createUnitOfWork(exchange);
exchange.setUnitOfWork(uow);
uow.start();
return uow;
diff --git a/docs/user-manual/modules/ROOT/pages/delay-interceptor.adoc b/docs/user-manual/modules/ROOT/pages/delay-interceptor.adoc
index cb5e239..5cc91c1 100644
--- a/docs/user-manual/modules/ROOT/pages/delay-interceptor.adoc
+++ b/docs/user-manual/modules/ROOT/pages/delay-interceptor.adoc
@@ -32,19 +32,7 @@ Just set the delay attribute of the camelContext tag as shown below:
[[DelayInterceptor-ConfiguringusingJava]]
==== Configuring using Java
-You can add the delayer interceptor in the RouteBulder as shown below:
-
-[source,java]
-------------------------------------------------------------------
- public void configure() throws Exception {
- // add the delay interceptor to delay each step 200 millis
- getContext().addInterceptStrategy(new Delayer(200));
-
- ... // regular routes here
- }
-------------------------------------------------------------------
-
-In *Camel 2.0* its a bit easier as you can just do
+You can add the delayer interceptor in the RouteBulder:
[source,java]
-----------------------------
diff --git a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
index 69050fa..c07c598 100644
--- a/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
+++ b/platforms/commands/commands-core/src/main/java/org/apache/camel/commands/AbstractLocalCamelController.java
@@ -20,11 +20,9 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
-import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.Set;
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -32,8 +30,8 @@ import javax.management.openmbean.CompositeData;
import javax.management.openmbean.TabularData;
import org.apache.camel.CamelContext;
-import org.apache.camel.CatalogCamelContext;
import org.apache.camel.Endpoint;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
import org.apache.camel.StatefulService;
@@ -50,7 +48,6 @@ import org.apache.camel.spi.RestRegistry;
import org.apache.camel.spi.RuntimeEndpointRegistry;
import org.apache.camel.spi.Transformer;
import org.apache.camel.spi.Validator;
-import org.apache.camel.support.JSonSchemaHelper;
/**
* Abstract {@link org.apache.camel.commands.LocalCamelController} that implementators should extend when implementing
@@ -88,7 +85,7 @@ public abstract class AbstractLocalCamelController extends AbstractCamelControll
answer.put("logMask", context.isLogMask());
answer.put("shutdownTimeout", context.getShutdownStrategy().getTimeUnit().toSeconds(context.getShutdownStrategy().getTimeout()));
answer.put("classResolver", context.getClassResolver().toString());
- answer.put("packageScanClassResolver", context.getPackageScanClassResolver().toString());
+ answer.put("packageScanClassResolver", context.adapt(ExtendedCamelContext.class).getPackageScanClassResolver().toString());
answer.put("applicationContextClassLoader", context.getApplicationContextClassLoader().toString());
answer.put("headersMapFactory", context.getHeadersMapFactory().toString());
@@ -119,14 +116,15 @@ public abstract class AbstractLocalCamelController extends AbstractCamelControll
answer.put("typeConverter.failedCounter", context.getTypeConverterRegistry().getStatistics().getFailedCounter());
// add async processor await manager details
- answer.put("asyncProcessorAwaitManager.size", context.getAsyncProcessorAwaitManager().size());
- answer.put("asyncProcessorAwaitManager.statisticsEnabled", context.getAsyncProcessorAwaitManager().getStatistics().isStatisticsEnabled());
- answer.put("asyncProcessorAwaitManager.threadsBlocked", context.getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
- answer.put("asyncProcessorAwaitManager.threadsInterrupted", context.getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
- answer.put("asyncProcessorAwaitManager.totalDuration", context.getAsyncProcessorAwaitManager().getStatistics().getTotalDuration());
- answer.put("asyncProcessorAwaitManager.minDuration", context.getAsyncProcessorAwaitManager().getStatistics().getMinDuration());
- answer.put("asyncProcessorAwaitManager.maxDuration", context.getAsyncProcessorAwaitManager().getStatistics().getMaxDuration());
- answer.put("asyncProcessorAwaitManager.meanDuration", context.getAsyncProcessorAwaitManager().getStatistics().getMeanDuration());
+ ExtendedCamelContext ecc = context.adapt(ExtendedCamelContext.class);
+ answer.put("asyncProcessorAwaitManager.size", ecc.getAsyncProcessorAwaitManager().size());
+ answer.put("asyncProcessorAwaitManager.statisticsEnabled", ecc.getAsyncProcessorAwaitManager().getStatistics().isStatisticsEnabled());
+ answer.put("asyncProcessorAwaitManager.threadsBlocked", ecc.getAsyncProcessorAwaitManager().getStatistics().getThreadsBlocked());
+ answer.put("asyncProcessorAwaitManager.threadsInterrupted", ecc.getAsyncProcessorAwaitManager().getStatistics().getThreadsInterrupted());
+ answer.put("asyncProcessorAwaitManager.totalDuration", ecc.getAsyncProcessorAwaitManager().getStatistics().getTotalDuration());
+ answer.put("asyncProcessorAwaitManager.minDuration", ecc.getAsyncProcessorAwaitManager().getStatistics().getMinDuration());
+ answer.put("asyncProcessorAwaitManager.maxDuration", ecc.getAsyncProcessorAwaitManager().getStatistics().getMaxDuration());
+ answer.put("asyncProcessorAwaitManager.meanDuration", ecc.getAsyncProcessorAwaitManager().getStatistics().getMeanDuration());
// add stream caching details if enabled
if (context.getStreamCachingStrategy().isEnabled()) {
diff --git a/platforms/spring-boot/components-starter/camel-jira-starter/pom.xml b/platforms/spring-boot/components-starter/camel-jira-starter/pom.xml
index ad3d0d5..f0e29d4 100644
--- a/platforms/spring-boot/components-starter/camel-jira-starter/pom.xml
+++ b/platforms/spring-boot/components-starter/camel-jira-starter/pom.xml
@@ -58,4 +58,12 @@
</dependency>
<!--END OF GENERATED CODE-->
</dependencies>
+
+ <repositories>
+ <repository>
+ <id>atlassian-public</id>
+ <url>https://packages.atlassian.com/maven-external</url>
+ </repository>
+ </repositories>
+
</project>
diff --git a/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/IntercepFromAndStrategyTest.java b/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/IntercepFromAndStrategyTest.java
index f013a2e..2c21051 100644
--- a/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/IntercepFromAndStrategyTest.java
+++ b/tests/camel-itest/src/test/java/org/apache/camel/itest/issues/IntercepFromAndStrategyTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.itest.issues;
import org.apache.camel.EndpointInject;
+import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
@@ -52,7 +53,7 @@ public class IntercepFromAndStrategyTest extends CamelTestSupport {
public void configure() throws Exception {
// add a dummy strategy
// removing this line the test works
- context.addInterceptStrategy(new DummyInterceptor());
+ context.adapt(ExtendedCamelContext.class).addInterceptStrategy(new DummyInterceptor());
// intercet from
interceptFrom("direct:start").log("Intercepted").to("mock:intercepted");