This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 73e830e4f841c470aeddde1489270f9c39125be1 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Fri May 17 14:47:54 2019 +0200 Add a Route#getCamelContext for easy access --- .../component/dns/policy/DnsActivationPolicy.java | 4 ++-- .../metrics/routepolicy/MetricsRoutePolicy.java | 6 +++--- .../MicrometerMessageHistoryNamingStrategy.java | 2 +- .../routepolicy/MicrometerRoutePolicy.java | 6 +++--- .../MicrometerRoutePolicyNamingStrategy.java | 2 +- .../quartz2/CronScheduledRoutePolicy.java | 2 +- .../routepolicy/quartz2/ScheduledRoutePolicy.java | 4 ++-- .../quartz2/SimpleScheduledRoutePolicy.java | 2 +- .../zookeeper/policy/CuratorLeaderRoutePolicy.java | 2 +- .../CuratorMultiMasterLeaderRoutePolicy.java | 5 ++--- .../zookeeper/policy/ZooKeeperRoutePolicy.java | 2 +- .../src/main/java/org/apache/camel/Route.java | 11 +++++++++-- .../org/apache/camel/impl/engine/DefaultRoute.java | 6 ++++++ .../apache/camel/impl/health/RouteHealthCheck.java | 2 +- .../camel/model/ProcessorDefinitionHelper.java | 6 +++--- .../org/apache/camel/reifier/AggregateReifier.java | 2 +- .../java/org/apache/camel/reifier/LogReifier.java | 2 +- .../java/org/apache/camel/reifier/SortReifier.java | 2 +- .../camel/reifier/ThrowExceptionReifier.java | 2 +- .../apache/camel/support/RoutePolicySupport.java | 23 +++++++++++++--------- .../commands/AbstractLocalCamelController.java | 2 +- 21 files changed, 56 insertions(+), 39 deletions(-) diff --git a/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java b/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java index fed1739..b19c701 100644 --- a/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java +++ b/components/camel-dns/src/main/java/org/apache/camel/component/dns/policy/DnsActivationPolicy.java @@ -154,7 +154,7 @@ public class DnsActivationPolicy extends RoutePolicySupport { } private void startRouteImpl(Route route) throws Exception { - ServiceStatus routeStatus = route.getRouteContext().getCamelContext().getRouteController().getRouteStatus(route.getId()); + ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId()); if (routeStatus == ServiceStatus.Stopped) { LOG.info("Starting {}", route.getId()); @@ -179,7 +179,7 @@ public class DnsActivationPolicy extends RoutePolicySupport { } private void stopRouteImpl(Route route) throws Exception { - ServiceStatus routeStatus = route.getRouteContext().getCamelContext().getRouteController().getRouteStatus(route.getId()); + ServiceStatus routeStatus = controller(route).getRouteStatus(route.getId()); if (routeStatus == ServiceStatus.Started) { LOG.info("Stopping {}", route.getId()); diff --git a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java index 585609b..08e3b03 100644 --- a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java +++ b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java @@ -141,7 +141,7 @@ public class MetricsRoutePolicy extends RoutePolicySupport implements NonManaged this.route = route; try { - registryService = route.getRouteContext().getCamelContext().hasService(MetricsRegistryService.class); + registryService = route.getCamelContext().hasService(MetricsRegistryService.class); if (registryService == null) { registryService = new MetricsRegistryService(); registryService.setMetricsRegistry(getMetricsRegistry()); @@ -150,7 +150,7 @@ public class MetricsRoutePolicy extends RoutePolicySupport implements NonManaged registryService.setPrettyPrint(isPrettyPrint()); registryService.setRateUnit(getRateUnit()); registryService.setDurationUnit(getDurationUnit()); - route.getRouteContext().getCamelContext().addService(registryService); + route.getCamelContext().addService(registryService); } } catch (Exception e) { throw RuntimeCamelException.wrapRuntimeCamelException(e); @@ -171,7 +171,7 @@ public class MetricsRoutePolicy extends RoutePolicySupport implements NonManaged } private String createName(String type) { - CamelContext context = route.getRouteContext().getCamelContext(); + CamelContext context = route.getCamelContext(); String name = context.getManagementName() != null ? context.getManagementName() : context.getName(); String answer = namePattern; diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryNamingStrategy.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryNamingStrategy.java index 3319135..6e0af22 100644 --- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryNamingStrategy.java +++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryNamingStrategy.java @@ -39,7 +39,7 @@ public interface MicrometerMessageHistoryNamingStrategy { default Tags getTags(Route route, NamedNode node) { return Tags.of( - CAMEL_CONTEXT_TAG, route.getRouteContext().getCamelContext().getName(), + CAMEL_CONTEXT_TAG, route.getCamelContext().getName(), SERVICE_NAME, MicrometerMessageHistoryService.class.getSimpleName(), ROUTE_ID_TAG, route.getId(), NODE_ID_TAG, node.getId() diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java index 7916756..200be1c 100644 --- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java +++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java @@ -117,17 +117,17 @@ public class MicrometerRoutePolicy extends RoutePolicySupport implements NonMana super.onInit(route); if (getMeterRegistry() == null) { setMeterRegistry(MicrometerUtils.getOrCreateMeterRegistry( - route.getRouteContext().getCamelContext().getRegistry(), METRICS_REGISTRY_NAME)); + route.getCamelContext().getRegistry(), METRICS_REGISTRY_NAME)); } try { - MicrometerRoutePolicyService registryService = route.getRouteContext().getCamelContext().hasService(MicrometerRoutePolicyService.class); + MicrometerRoutePolicyService registryService = route.getCamelContext().hasService(MicrometerRoutePolicyService.class); if (registryService == null) { registryService = new MicrometerRoutePolicyService(); registryService.setMeterRegistry(getMeterRegistry()); registryService.setPrettyPrint(isPrettyPrint()); registryService.setDurationUnit(getDurationUnit()); registryService.setMatchingTags(Tags.of(SERVICE_NAME, MicrometerRoutePolicyService.class.getSimpleName())); - route.getRouteContext().getCamelContext().addService(registryService); + route.getCamelContext().addService(registryService); ServiceHelper.startService(registryService); } } catch (Exception e) { diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java index 33a9c54..69bfe71 100644 --- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java +++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java @@ -40,7 +40,7 @@ public interface MicrometerRoutePolicyNamingStrategy { default Tags getTags(Route route, Exchange exchange) { return Tags.of( - CAMEL_CONTEXT_TAG, route.getRouteContext().getCamelContext().getName(), + CAMEL_CONTEXT_TAG, route.getCamelContext().getName(), SERVICE_NAME, MicrometerRoutePolicyService.class.getSimpleName(), ROUTE_ID_TAG, route.getId(), FAILED_TAG, Boolean.toString(exchange.isFailed()) diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java index 99d7a5b..10f2ff6 100644 --- a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java +++ b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/CronScheduledRoutePolicy.java @@ -44,7 +44,7 @@ public class CronScheduledRoutePolicy extends ScheduledRoutePolicy implements Sc } protected void doOnInit(Route route) throws Exception { - QuartzComponent quartz = route.getRouteContext().getCamelContext().getComponent("quartz2", QuartzComponent.class); + QuartzComponent quartz = route.getCamelContext().getComponent("quartz2", QuartzComponent.class); setScheduler(quartz.getScheduler()); // Important: do not start scheduler as QuartzComponent does that automatic diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/ScheduledRoutePolicy.java b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/ScheduledRoutePolicy.java index 69f826c..7b4833d 100644 --- a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/ScheduledRoutePolicy.java +++ b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/ScheduledRoutePolicy.java @@ -60,7 +60,7 @@ public abstract class ScheduledRoutePolicy extends RoutePolicySupport implements protected void onJobExecute(Action action, Route route) throws Exception { LOG.debug("Scheduled Event notification received. Performing action: {} on route: {}", action, route.getId()); - ServiceStatus routeStatus = route.getRouteContext().getCamelContext().getRouteController().getRouteStatus(route.getId()); + ServiceStatus routeStatus = route.getCamelContext().getRouteController().getRouteStatus(route.getId()); if (action == Action.START) { if (routeStatus == ServiceStatus.Stopped) { startRoute(route); @@ -110,7 +110,7 @@ public abstract class ScheduledRoutePolicy extends RoutePolicySupport implements loadCallbackDataIntoSchedulerContext(jobDetail, action, route); - boolean isClustered = route.getRouteContext().getCamelContext().getComponent("quartz2", QuartzComponent.class).isClustered(); + boolean isClustered = route.getCamelContext().getComponent("quartz2", QuartzComponent.class).isClustered(); if (isClustered) { // check to see if the same job has already been setup through another node of the cluster JobDetail existingJobDetail = getScheduler().getJobDetail(jobDetail.getKey()); diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/SimpleScheduledRoutePolicy.java b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/SimpleScheduledRoutePolicy.java index 9ea8d71..0676ed9 100644 --- a/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/SimpleScheduledRoutePolicy.java +++ b/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/SimpleScheduledRoutePolicy.java @@ -50,7 +50,7 @@ public class SimpleScheduledRoutePolicy extends ScheduledRoutePolicy { } protected void doOnInit(Route route) throws Exception { - QuartzComponent quartz = route.getRouteContext().getCamelContext().getComponent("quartz2", QuartzComponent.class); + QuartzComponent quartz = route.getCamelContext().getComponent("quartz2", QuartzComponent.class); setScheduler(quartz.getScheduler()); // Important: do not start scheduler as QuartzComponent does that automatic diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java index 0b3f3ac..cf3af30 100644 --- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java +++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorLeaderRoutePolicy.java @@ -97,7 +97,7 @@ public class CuratorLeaderRoutePolicy extends RoutePolicySupport implements Elec electionLock.lock(); try { if (election == null) { // re-test - election = new CuratorLeaderElection(route.getRouteContext().getCamelContext(), uri); + election = new CuratorLeaderElection(route.getCamelContext(), uri); election.addElectionWatcher(this); } } finally { diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java index fc249b4..cfe952c 100644 --- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java +++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/CuratorMultiMasterLeaderRoutePolicy.java @@ -22,10 +22,9 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; +import org.apache.camel.CamelContext; import org.apache.camel.NonManagedService; import org.apache.camel.Route; -import org.apache.camel.impl.DefaultCamelContext; -import org.apache.camel.model.RouteDefinition; import org.apache.camel.support.RoutePolicySupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -157,7 +156,7 @@ public class CuratorMultiMasterLeaderRoutePolicy extends RoutePolicySupport impl log.info("{} route(s) have been stopped previously by policy, restarting.", suspendedRoutes.size()); } for (Route suspended : suspendedRoutes) { - DefaultCamelContext ctx = (DefaultCamelContext)suspended.getRouteContext().getCamelContext(); + CamelContext ctx = suspended.getCamelContext(); while (!ctx.isStarted()) { log.info("Context {} is not started yet. Sleeping for a bit.", ctx.getName()); Thread.sleep(5000); diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperRoutePolicy.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperRoutePolicy.java index 2d74426..bb6a760 100644 --- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperRoutePolicy.java +++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperRoutePolicy.java @@ -95,7 +95,7 @@ public class ZooKeeperRoutePolicy extends RoutePolicySupport implements Election electionLock.lock(); try { if (election == null) { // re-test - election = new ZooKeeperElection(route.getRouteContext().getCamelContext(), uri, enabledCount); + election = new ZooKeeperElection(route.getCamelContext(), uri, enabledCount); election.addElectionWatcher(this); } } finally { diff --git a/core/camel-api/src/main/java/org/apache/camel/Route.java b/core/camel-api/src/main/java/org/apache/camel/Route.java index 49087d9..30cb281 100644 --- a/core/camel-api/src/main/java/org/apache/camel/Route.java +++ b/core/camel-api/src/main/java/org/apache/camel/Route.java @@ -61,9 +61,9 @@ public interface Route extends EndpointAware { String getUptime(); /** - * Gets the uptime in milli seconds + * Gets the uptime in milliseconds * - * @return the uptime in millis seconds + * @return the uptime in milliseconds */ long getUptimeMillis(); @@ -112,6 +112,13 @@ public interface Route extends EndpointAware { RouteContext getRouteContext(); /** + * Gets the camel context + * + * @return the camel context + */ + CamelContext getCamelContext(); + + /** * A strategy callback allowing special initialization when services are starting. * * @param services the service diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java index 837dfca..75b9e74 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultRoute.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.Route; import org.apache.camel.Service; @@ -92,6 +93,11 @@ public abstract class DefaultRoute extends ServiceSupport implements Route { return routeContext; } + @Override + public CamelContext getCamelContext() { + return routeContext.getCamelContext(); + } + public Map<String, Object> getProperties() { return properties; } diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java b/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java index 2adc583..3d773eb 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/health/RouteHealthCheck.java @@ -57,7 +57,7 @@ public class RouteHealthCheck extends AbstractHealthCheck { @Override protected void doCall(HealthCheckResultBuilder builder, Map<String, Object> options) { if (route.getId() != null) { - final CamelContext context = route.getRouteContext().getCamelContext(); + final CamelContext context = route.getCamelContext(); final ServiceStatus status = context.getRouteController().getRouteStatus(route.getId()); builder.detail("route.id", route.getId()); diff --git a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java index 9de01ff..35ebbb2 100644 --- a/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java +++ b/core/camel-core/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java @@ -399,7 +399,7 @@ public final class ProcessorDefinitionHelper { // no there is a custom thread pool configured return false; } else if (definition.getExecutorServiceRef() != null) { - ExecutorService answer = routeContext.getCamelContext().getRegistry().lookupByNameAndType(definition.getExecutorServiceRef(), ExecutorService.class); + ExecutorService answer = routeContext.lookup(definition.getExecutorServiceRef(), ExecutorService.class); // if no existing thread pool, then we will have to create a new thread pool return answer == null; } else if (useDefault) { @@ -435,7 +435,7 @@ public final class ProcessorDefinitionHelper { ObjectHelper.notNull(executorServiceRef, "executorServiceRef"); // lookup in registry first and use existing thread pool if exists - ExecutorService answer = routeContext.getCamelContext().getRegistry().lookupByNameAndType(executorServiceRef, ExecutorService.class); + ExecutorService answer = routeContext.lookup(executorServiceRef, ExecutorService.class); if (answer == null) { // then create a thread pool assuming the ref is a thread pool profile id answer = manager.newThreadPool(source, name, executorServiceRef); @@ -513,7 +513,7 @@ public final class ProcessorDefinitionHelper { ObjectHelper.notNull(executorServiceRef, "executorServiceRef"); // lookup in registry first and use existing thread pool if exists - ScheduledExecutorService answer = routeContext.getCamelContext().getRegistry().lookupByNameAndType(executorServiceRef, ScheduledExecutorService.class); + ScheduledExecutorService answer = routeContext.lookup(executorServiceRef, ScheduledExecutorService.class); if (answer == null) { // then create a thread pool assuming the ref is a thread pool profile id answer = manager.newScheduledThreadPool(source, name, executorServiceRef); diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/AggregateReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/AggregateReifier.java index f26370b..d5a1661 100644 --- a/core/camel-core/src/main/java/org/apache/camel/reifier/AggregateReifier.java +++ b/core/camel-core/src/main/java/org/apache/camel/reifier/AggregateReifier.java @@ -85,7 +85,7 @@ class AggregateReifier extends ProcessorReifier<AggregateDefinition> { ScheduledExecutorService timeoutThreadPool = definition.getTimeoutCheckerExecutorService(); if (timeoutThreadPool == null && definition.getTimeoutCheckerExecutorServiceRef() != null) { // lookup existing thread pool - timeoutThreadPool = routeContext.getCamelContext().getRegistry().lookupByNameAndType(definition.getTimeoutCheckerExecutorServiceRef(), ScheduledExecutorService.class); + timeoutThreadPool = routeContext.lookup(definition.getTimeoutCheckerExecutorServiceRef(), ScheduledExecutorService.class); if (timeoutThreadPool == null) { // then create a thread pool assuming the ref is a thread pool profile id timeoutThreadPool = routeContext.getCamelContext().getExecutorServiceManager().newScheduledThreadPool(this, 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 337e13d..e76e8d0 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 @@ -93,7 +93,7 @@ class LogReifier extends ProcessorReifier<LogDefinition> { private MaskingFormatter getMaskingFormatter(RouteContext routeContext) { if (routeContext.isLogMask()) { - MaskingFormatter formatter = routeContext.getCamelContext().getRegistry().lookupByNameAndType(MaskingFormatter.CUSTOM_LOG_MASK_REF, MaskingFormatter.class); + MaskingFormatter formatter = routeContext.lookup(MaskingFormatter.CUSTOM_LOG_MASK_REF, MaskingFormatter.class); if (formatter == null) { formatter = new DefaultMaskingFormatter(); } diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/SortReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/SortReifier.java index 285b255..366782e 100644 --- a/core/camel-core/src/main/java/org/apache/camel/reifier/SortReifier.java +++ b/core/camel-core/src/main/java/org/apache/camel/reifier/SortReifier.java @@ -41,7 +41,7 @@ class SortReifier<T, U extends SortDefinition<T>> extends ExpressionReifier<U> { public Processor createProcessor(RouteContext routeContext) throws Exception { // lookup in registry if (isNotEmpty(definition.getComparatorRef())) { - definition.setComparator(routeContext.getCamelContext().getRegistry().lookupByNameAndType(definition.getComparatorRef(), Comparator.class)); + definition.setComparator(routeContext.lookup(definition.getComparatorRef(), Comparator.class)); } // if no comparator then default on to string representation diff --git a/core/camel-core/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java b/core/camel-core/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java index 042957b..9069f26 100644 --- a/core/camel-core/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java +++ b/core/camel-core/src/main/java/org/apache/camel/reifier/ThrowExceptionReifier.java @@ -32,7 +32,7 @@ class ThrowExceptionReifier extends ProcessorReifier<ThrowExceptionDefinition> { @Override public Processor createProcessor(RouteContext routeContext) { if (definition.getRef() != null && definition.getException() == null) { - definition.setException(routeContext.getCamelContext().getRegistry().lookupByNameAndType(definition.getRef(), Exception.class)); + definition.setException(routeContext.lookup(definition.getRef(), Exception.class)); } if (definition.getExceptionType() != null && definition.getExceptionClass() == null) { diff --git a/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java b/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java index b6498b2..3b20fa1 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/RoutePolicySupport.java @@ -22,6 +22,7 @@ import org.apache.camel.Consumer; import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.spi.ExceptionHandler; +import org.apache.camel.spi.RouteController; import org.apache.camel.spi.RoutePolicy; import org.apache.camel.support.service.ServiceHelper; import org.apache.camel.support.service.ServiceSupport; @@ -35,7 +36,7 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route public void onInit(Route route) { if (exceptionHandler == null) { - exceptionHandler = new LoggingExceptionHandler(route.getRouteContext().getCamelContext(), getClass()); + exceptionHandler = new LoggingExceptionHandler(route.getCamelContext(), getClass()); } } @@ -133,33 +134,33 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route } public void startRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().getRouteController().startRoute(route.getId()); + controller(route).startRoute(route.getId()); } public void resumeRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().getRouteController().resumeRoute(route.getId()); + controller(route).resumeRoute(route.getId()); } public void suspendRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().getRouteController().suspendRoute(route.getId()); + controller(route).suspendRoute(route.getId()); } public void suspendRoute(Route route, long timeout, TimeUnit timeUnit) throws Exception { - route.getRouteContext().getCamelContext().getRouteController().suspendRoute(route.getId(), timeout, timeUnit); + controller(route).suspendRoute(route.getId(), timeout, timeUnit); } /** * @see #stopRouteAsync(Route) */ public void stopRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().getRouteController().stopRoute(route.getId()); + controller(route).stopRoute(route.getId()); } /** * @see #stopRouteAsync(Route) */ public void stopRoute(Route route, long timeout, TimeUnit timeUnit) throws Exception { - route.getRouteContext().getCamelContext().getRouteController().stopRoute(route.getId(), timeout, timeUnit); + controller(route).stopRoute(route.getId(), timeout, timeUnit); } /** @@ -170,10 +171,10 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route * thread ensures the exchange can continue process and complete and the route can be stopped. */ public void stopRouteAsync(final Route route) { - String threadId = route.getRouteContext().getCamelContext().getExecutorServiceManager().resolveThreadName("StopRouteAsync"); + String threadId = route.getCamelContext().getExecutorServiceManager().resolveThreadName("StopRouteAsync"); Runnable task = () -> { try { - route.getRouteContext().getCamelContext().getRouteController().stopRoute(route.getId()); + controller(route).stopRoute(route.getId()); } catch (Exception e) { handleException(e); } @@ -181,6 +182,10 @@ public abstract class RoutePolicySupport extends ServiceSupport implements Route new Thread(task, threadId).start(); } + protected RouteController controller(Route route) { + return route.getCamelContext().getRouteController(); + } + /** * Handles the given exception using the {@link #getExceptionHandler()} * 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 c07c598..5f01427 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 @@ -622,7 +622,7 @@ public abstract class AbstractLocalCamelController extends AbstractCamelControll private static String getRouteState(Route route) { // must use String type to be sure remote JMX can read the attribute without requiring Camel classes. - ServiceStatus status = route.getRouteContext().getCamelContext().getRouteController().getRouteStatus(route.getId()); + ServiceStatus status = route.getCamelContext().getRouteController().getRouteStatus(route.getId()); if (status != null) { return status.name(); }