Repository: camel Updated Branches: refs/heads/master 984de3dd7 -> 259648fc3
CAMEL-8229: Moved some impl classes to support. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/259648fc Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/259648fc Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/259648fc Branch: refs/heads/master Commit: 259648fc30a528cdbad1e8416f49725306a80f0e Parents: 984de3d Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Feb 6 13:00:22 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Feb 6 13:00:22 2015 +0100 ---------------------------------------------------------------------- .../component/file/GenericFileOnCompletion.java | 2 +- .../camel/component/seda/SedaConsumer.java | 2 +- .../BridgeExceptionHandlerToErrorHandler.java | 1 + .../org/apache/camel/impl/DefaultConsumer.java | 1 + .../camel/impl/EventDrivenPollingConsumer.java | 1 + .../camel/impl/LoggingExceptionHandler.java | 87 ++--------- .../camel/impl/PollingConsumerSupport.java | 1 + .../apache/camel/impl/RoutePolicySupport.java | 132 +---------------- .../impl/ThrottlingInflightRoutePolicy.java | 1 + .../apache/camel/processor/BatchProcessor.java | 2 +- .../camel/processor/StreamResequencer.java | 2 +- .../processor/aggregate/AggregateProcessor.java | 2 +- .../camel/support/LoggingExceptionHandler.java | 121 +++++++++++++++ .../camel/support/RoutePolicySupport.java | 147 +++++++++++++++++++ .../file/FileConsumerSuspendAndResumeTest.java | 2 +- .../component/file/FileConsumerSuspendTest.java | 2 +- .../camel/impl/RoutePolicyCallbackTest.java | 1 + .../camel/impl/RoutePolicyFactoryTest.java | 1 + .../camel/impl/RoutePolicySupportTest.java | 1 + .../management/ManagedSuspendedServiceTest.java | 2 +- .../camel/processor/CustomRoutePolicyTest.java | 2 +- .../CustomScheduledRoutePolicyTest.java | 2 +- .../apache/camel/processor/FlipRoutePolicy.java | 2 +- .../camel/processor/RoutePoliciesRefTest.java | 2 +- .../camel/processor/RoutePoliciesTest.java | 2 +- .../AsyncEndpointCustomRoutePolicyTest.java | 2 +- .../component/disruptor/DisruptorConsumer.java | 2 +- .../jms/DefaultSpringErrorHandler.java | 7 +- .../camel/component/jms/JmsConfiguration.java | 2 +- .../component/jms/reply/QueueReplyManager.java | 2 +- .../jms/reply/TemporaryQueueReplyManager.java | 2 +- .../metrics/routepolicy/MetricsRoutePolicy.java | 2 +- .../quartz/ScheduledRoutePolicy.java | 2 +- .../quartz2/ScheduledRoutePolicy.java | 2 +- .../routebox/RouteboxServiceSupport.java | 4 +- .../processor/SpringRoutePoliciesTest.java | 2 +- .../zookeeper/policy/ZooKeeperRoutePolicy.java | 2 +- 37 files changed, 317 insertions(+), 235 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java index db16a66..1916493 100644 --- a/camel-core/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java +++ b/camel-core/src/main/java/org/apache/camel/component/file/GenericFileOnCompletion.java @@ -17,7 +17,7 @@ package org.apache.camel.component.file; import org.apache.camel.Exchange; -import org.apache.camel.impl.LoggingExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.spi.Synchronization; import org.apache.camel.util.ObjectHelper; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java index d0f47bd..77a1698 100644 --- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java +++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java @@ -31,7 +31,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.ShutdownRunningTask; import org.apache.camel.SuspendableService; -import org.apache.camel.impl.LoggingExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.processor.MulticastProcessor; import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.spi.ShutdownAware; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java b/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java index b6bbadc..b77ecc7 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java +++ b/camel-core/src/main/java/org/apache/camel/impl/BridgeExceptionHandlerToErrorHandler.java @@ -20,6 +20,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.spi.UnitOfWork; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.util.UnitOfWorkHelper; /** http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java index 30a25f1..a0b55be 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultConsumer.java @@ -26,6 +26,7 @@ import org.apache.camel.Route; import org.apache.camel.RouteAware; import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.spi.UnitOfWork; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.AsyncProcessorConverterHelper; import org.apache.camel.util.ServiceHelper; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/impl/EventDrivenPollingConsumer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/EventDrivenPollingConsumer.java b/camel-core/src/main/java/org/apache/camel/impl/EventDrivenPollingConsumer.java index 9d944ad..764882e 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/EventDrivenPollingConsumer.java +++ b/camel-core/src/main/java/org/apache/camel/impl/EventDrivenPollingConsumer.java @@ -29,6 +29,7 @@ import org.apache.camel.IsSingleton; import org.apache.camel.PollingConsumerPollingStrategy; import org.apache.camel.Processor; import org.apache.camel.spi.ExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.util.ServiceHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java b/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java index ba3fc28..bb75282 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java +++ b/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java @@ -17,105 +17,36 @@ package org.apache.camel.impl; import org.apache.camel.CamelContext; -import org.apache.camel.CamelExchangeException; -import org.apache.camel.Exchange; import org.apache.camel.LoggingLevel; -import org.apache.camel.RollbackExchangeException; -import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.util.CamelLogger; -import org.slf4j.LoggerFactory; /** - * A default implementation of {@link ExceptionHandler} which uses a {@link org.apache.camel.util.CamelLogger} to - * log the exception. - * <p/> - * This implementation will by default log the exception with stack trace at WARN level. - * <p/> - * This implementation honors the {@link org.apache.camel.impl.DefaultShutdownStrategy#isSuppressLoggingOnTimeout()} - * option to avoid logging if the logging should be suppressed. - * - * @version + * @deprecated use {@link org.apache.camel.support.LoggingExceptionHandler} */ -public class LoggingExceptionHandler implements ExceptionHandler { - private final CamelLogger logger; - private final CamelContext camelContext; +@Deprecated +public class LoggingExceptionHandler extends org.apache.camel.support.LoggingExceptionHandler { - @Deprecated public LoggingExceptionHandler(Class<?> ownerType) { - this(null, new CamelLogger(LoggerFactory.getLogger(ownerType), LoggingLevel.WARN)); + super(ownerType); } public LoggingExceptionHandler(CamelContext camelContext, Class<?> ownerType) { - this(camelContext, new CamelLogger(LoggerFactory.getLogger(ownerType), LoggingLevel.WARN)); + super(camelContext, ownerType); } - @Deprecated public LoggingExceptionHandler(Class<?> ownerType, LoggingLevel level) { - this(null, new CamelLogger(LoggerFactory.getLogger(ownerType), level)); + super(ownerType, level); } public LoggingExceptionHandler(CamelContext camelContext, Class<?> ownerType, LoggingLevel level) { - this(camelContext, new CamelLogger(LoggerFactory.getLogger(ownerType), level)); + super(camelContext, ownerType, level); } - @Deprecated public LoggingExceptionHandler(CamelLogger logger) { - this(null, logger); + super(logger); } public LoggingExceptionHandler(CamelContext camelContext, CamelLogger logger) { - this.camelContext = camelContext; - this.logger = logger; - } - - public void handleException(Throwable exception) { - handleException(null, null, exception); - } - - public void handleException(String message, Throwable exception) { - handleException(message, null, exception); - } - - public void handleException(String message, Exchange exchange, Throwable exception) { - try { - if (!isSuppressLogging()) { - String msg = CamelExchangeException.createExceptionMessage(message, exchange, exception); - if (isCausedByRollbackExchangeException(exception)) { - // do not log stack trace for intended rollbacks - logger.log(msg); - } else { - if (exception != null) { - logger.log(msg, exception); - } else { - logger.log(msg); - } - } - } - } catch (Throwable e) { - // the logging exception handler must not cause new exceptions to occur - } - } - - protected boolean isCausedByRollbackExchangeException(Throwable exception) { - if (exception == null) { - return false; - } - if (exception instanceof RollbackExchangeException) { - return true; - } else if (exception.getCause() != null) { - // recursive children - return isCausedByRollbackExchangeException(exception.getCause()); - } - - return false; - } - - protected boolean isSuppressLogging() { - if (camelContext != null) { - return (camelContext.getStatus().isStopping() || camelContext.getStatus().isStopped()) - && camelContext.getShutdownStrategy().hasTimeoutOccurred() && camelContext.getShutdownStrategy().isSuppressLoggingOnTimeout(); - } else { - return false; - } + super(camelContext, logger); } } http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/impl/PollingConsumerSupport.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/PollingConsumerSupport.java b/camel-core/src/main/java/org/apache/camel/impl/PollingConsumerSupport.java index 95e0a75..1890d3c 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/PollingConsumerSupport.java +++ b/camel-core/src/main/java/org/apache/camel/impl/PollingConsumerSupport.java @@ -19,6 +19,7 @@ package org.apache.camel.impl; import org.apache.camel.Endpoint; import org.apache.camel.PollingConsumer; import org.apache.camel.spi.ExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.support.ServiceSupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/impl/RoutePolicySupport.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/RoutePolicySupport.java b/camel-core/src/main/java/org/apache/camel/impl/RoutePolicySupport.java index c76b4e2..30b2e43 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/RoutePolicySupport.java +++ b/camel-core/src/main/java/org/apache/camel/impl/RoutePolicySupport.java @@ -16,135 +16,9 @@ */ package org.apache.camel.impl; -import java.util.concurrent.TimeUnit; - -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.RoutePolicy; -import org.apache.camel.support.ServiceSupport; -import org.apache.camel.util.ServiceHelper; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** - * A base class for developing custom {@link RoutePolicy} implementations. - * - * @version + * @deprecated use {@link org.apache.camel.support.RoutePolicySupport} */ -public abstract class RoutePolicySupport extends ServiceSupport implements RoutePolicy { - - // TODO: Move to support package - - protected final Logger log = LoggerFactory.getLogger(getClass()); - private ExceptionHandler exceptionHandler; - - public void onInit(Route route) { - if (exceptionHandler == null) { - exceptionHandler = new LoggingExceptionHandler(route.getRouteContext().getCamelContext(), getClass()); - } - } - - public void onRemove(Route route) { - // noop - } - - @Override - public void onStart(Route route) { - // noop - } - - @Override - public void onStop(Route route) { - // noop - } - - @Override - public void onSuspend(Route route) { - // noop - } - - @Override - public void onResume(Route route) { - // noop - } - - public void onExchangeBegin(Route route, Exchange exchange) { - // noop - } - - public void onExchangeDone(Route route, Exchange exchange) { - // noop - } - - protected boolean startConsumer(Consumer consumer) throws Exception { - boolean resumed = ServiceHelper.resumeService(consumer); - if (resumed) { - log.debug("Resuming consumer {}", consumer); - } - return resumed; - } - - protected boolean stopConsumer(Consumer consumer) throws Exception { - boolean suspended = ServiceHelper.suspendService(consumer); - if (suspended) { - log.debug("Suspended consumer {}", consumer); - } - return suspended; - } - - protected void startRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().startRoute(route.getId()); - } - - protected void resumeRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().resumeRoute(route.getId()); - } - - protected void suspendRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().suspendRoute(route.getId()); - } - - protected void suspendRoute(Route route, long timeout, TimeUnit timeUnit) throws Exception { - route.getRouteContext().getCamelContext().suspendRoute(route.getId(), timeout, timeUnit); - } - - protected void stopRoute(Route route) throws Exception { - route.getRouteContext().getCamelContext().stopRoute(route.getId()); - } - - protected void stopRoute(Route route, long timeout, TimeUnit timeUnit) throws Exception { - route.getRouteContext().getCamelContext().stopRoute(route.getId(), timeout, timeUnit); - } - - /** - * Handles the given exception using the {@link #getExceptionHandler()} - * - * @param t the exception to handle - */ - protected void handleException(Throwable t) { - if (exceptionHandler != null) { - exceptionHandler.handleException(t); - } - } - - @Override - protected void doStart() throws Exception { - // noop - } - - @Override - protected void doStop() throws Exception { - // noop - } - - public ExceptionHandler getExceptionHandler() { - return exceptionHandler; - } - - public void setExceptionHandler(ExceptionHandler exceptionHandler) { - this.exceptionHandler = exceptionHandler; - } - +@Deprecated +public class RoutePolicySupport extends org.apache.camel.support.RoutePolicySupport { } http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java b/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java index f5f93f2..a0a1914 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java +++ b/camel-core/src/main/java/org/apache/camel/impl/ThrottlingInflightRoutePolicy.java @@ -30,6 +30,7 @@ import org.apache.camel.LoggingLevel; import org.apache.camel.Route; import org.apache.camel.management.event.ExchangeCompletedEvent; import org.apache.camel.support.EventNotifierSupport; +import org.apache.camel.support.RoutePolicySupport; import org.apache.camel.util.CamelLogger; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ServiceHelper; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java index 2bb93f7..2dde110 100644 --- a/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java +++ b/camel-core/src/main/java/org/apache/camel/processor/BatchProcessor.java @@ -37,7 +37,7 @@ import org.apache.camel.Expression; import org.apache.camel.Navigate; import org.apache.camel.Predicate; import org.apache.camel.Processor; -import org.apache.camel.impl.LoggingExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.AsyncProcessorHelper; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/processor/StreamResequencer.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/processor/StreamResequencer.java b/camel-core/src/main/java/org/apache/camel/processor/StreamResequencer.java index c8426d7..b5103f2 100644 --- a/camel-core/src/main/java/org/apache/camel/processor/StreamResequencer.java +++ b/camel-core/src/main/java/org/apache/camel/processor/StreamResequencer.java @@ -31,7 +31,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Navigate; import org.apache.camel.Processor; import org.apache.camel.Traceable; -import org.apache.camel.impl.LoggingExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.processor.resequencer.ResequencerEngine; import org.apache.camel.processor.resequencer.SequenceElementComparator; import org.apache.camel.processor.resequencer.SequenceSender; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java index e7a094f..2118919 100644 --- a/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java +++ b/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java @@ -45,7 +45,7 @@ import org.apache.camel.Processor; import org.apache.camel.ProducerTemplate; import org.apache.camel.TimeoutMap; import org.apache.camel.Traceable; -import org.apache.camel.impl.LoggingExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.spi.AggregationRepository; import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.spi.OptimisticLockingAggregationRepository; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/support/LoggingExceptionHandler.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/support/LoggingExceptionHandler.java b/camel-core/src/main/java/org/apache/camel/support/LoggingExceptionHandler.java new file mode 100644 index 0000000..6a9bc32 --- /dev/null +++ b/camel-core/src/main/java/org/apache/camel/support/LoggingExceptionHandler.java @@ -0,0 +1,121 @@ +/** + * 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.support; + +import org.apache.camel.CamelContext; +import org.apache.camel.CamelExchangeException; +import org.apache.camel.Exchange; +import org.apache.camel.LoggingLevel; +import org.apache.camel.RollbackExchangeException; +import org.apache.camel.spi.ExceptionHandler; +import org.apache.camel.util.CamelLogger; +import org.slf4j.LoggerFactory; + +/** + * A default implementation of {@link ExceptionHandler} which uses a {@link org.apache.camel.util.CamelLogger} to + * log the exception. + * <p/> + * This implementation will by default log the exception with stack trace at WARN level. + * <p/> + * This implementation honors the {@link org.apache.camel.spi.ShutdownStrategy#isSuppressLoggingOnTimeout()} + * option to avoid logging if the logging should be suppressed. + * + * @version + */ +public class LoggingExceptionHandler implements ExceptionHandler { + private final CamelLogger logger; + private final CamelContext camelContext; + + @Deprecated + public LoggingExceptionHandler(Class<?> ownerType) { + this(null, new CamelLogger(LoggerFactory.getLogger(ownerType), LoggingLevel.WARN)); + } + + public LoggingExceptionHandler(CamelContext camelContext, Class<?> ownerType) { + this(camelContext, new CamelLogger(LoggerFactory.getLogger(ownerType), LoggingLevel.WARN)); + } + + @Deprecated + public LoggingExceptionHandler(Class<?> ownerType, LoggingLevel level) { + this(null, new CamelLogger(LoggerFactory.getLogger(ownerType), level)); + } + + public LoggingExceptionHandler(CamelContext camelContext, Class<?> ownerType, LoggingLevel level) { + this(camelContext, new CamelLogger(LoggerFactory.getLogger(ownerType), level)); + } + + @Deprecated + public LoggingExceptionHandler(CamelLogger logger) { + this(null, logger); + } + + public LoggingExceptionHandler(CamelContext camelContext, CamelLogger logger) { + this.camelContext = camelContext; + this.logger = logger; + } + + public void handleException(Throwable exception) { + handleException(null, null, exception); + } + + public void handleException(String message, Throwable exception) { + handleException(message, null, exception); + } + + public void handleException(String message, Exchange exchange, Throwable exception) { + try { + if (!isSuppressLogging()) { + String msg = CamelExchangeException.createExceptionMessage(message, exchange, exception); + if (isCausedByRollbackExchangeException(exception)) { + // do not log stack trace for intended rollbacks + logger.log(msg); + } else { + if (exception != null) { + logger.log(msg, exception); + } else { + logger.log(msg); + } + } + } + } catch (Throwable e) { + // the logging exception handler must not cause new exceptions to occur + } + } + + protected boolean isCausedByRollbackExchangeException(Throwable exception) { + if (exception == null) { + return false; + } + if (exception instanceof RollbackExchangeException) { + return true; + } else if (exception.getCause() != null) { + // recursive children + return isCausedByRollbackExchangeException(exception.getCause()); + } + + return false; + } + + protected boolean isSuppressLogging() { + if (camelContext != null) { + return (camelContext.getStatus().isStopping() || camelContext.getStatus().isStopped()) + && camelContext.getShutdownStrategy().hasTimeoutOccurred() && camelContext.getShutdownStrategy().isSuppressLoggingOnTimeout(); + } else { + return false; + } + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/main/java/org/apache/camel/support/RoutePolicySupport.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/support/RoutePolicySupport.java b/camel-core/src/main/java/org/apache/camel/support/RoutePolicySupport.java new file mode 100644 index 0000000..575d009 --- /dev/null +++ b/camel-core/src/main/java/org/apache/camel/support/RoutePolicySupport.java @@ -0,0 +1,147 @@ +/** + * 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.support; + +import java.util.concurrent.TimeUnit; + +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.RoutePolicy; +import org.apache.camel.util.ServiceHelper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * A base class for developing custom {@link RoutePolicy} implementations. + * + * @version + */ +public abstract class RoutePolicySupport extends ServiceSupport implements RoutePolicy { + + protected final Logger log = LoggerFactory.getLogger(getClass()); + private ExceptionHandler exceptionHandler; + + public void onInit(Route route) { + if (exceptionHandler == null) { + exceptionHandler = new LoggingExceptionHandler(route.getRouteContext().getCamelContext(), getClass()); + } + } + + public void onRemove(Route route) { + // noop + } + + @Override + public void onStart(Route route) { + // noop + } + + @Override + public void onStop(Route route) { + // noop + } + + @Override + public void onSuspend(Route route) { + // noop + } + + @Override + public void onResume(Route route) { + // noop + } + + public void onExchangeBegin(Route route, Exchange exchange) { + // noop + } + + public void onExchangeDone(Route route, Exchange exchange) { + // noop + } + + public boolean startConsumer(Consumer consumer) throws Exception { + boolean resumed = ServiceHelper.resumeService(consumer); + if (resumed) { + log.debug("Resuming consumer {}", consumer); + } + return resumed; + } + + public boolean stopConsumer(Consumer consumer) throws Exception { + boolean suspended = ServiceHelper.suspendService(consumer); + if (suspended) { + log.debug("Suspended consumer {}", consumer); + } + return suspended; + } + + public void startRoute(Route route) throws Exception { + route.getRouteContext().getCamelContext().startRoute(route.getId()); + } + + public void resumeRoute(Route route) throws Exception { + route.getRouteContext().getCamelContext().resumeRoute(route.getId()); + } + + public void suspendRoute(Route route) throws Exception { + route.getRouteContext().getCamelContext().suspendRoute(route.getId()); + } + + public void suspendRoute(Route route, long timeout, TimeUnit timeUnit) throws Exception { + route.getRouteContext().getCamelContext().suspendRoute(route.getId(), timeout, timeUnit); + } + + public void stopRoute(Route route) throws Exception { + route.getRouteContext().getCamelContext().stopRoute(route.getId()); + } + + public void stopRoute(Route route, long timeout, TimeUnit timeUnit) throws Exception { + route.getRouteContext().getCamelContext().stopRoute(route.getId(), timeout, timeUnit); + } + + /** + * Handles the given exception using the {@link #getExceptionHandler()} + * + * @param t the exception to handle + */ + protected void handleException(Throwable t) { + if (exceptionHandler != null) { + exceptionHandler.handleException(t); + } + } + + @Override + protected void doStart() throws Exception { + // noop + } + + @Override + protected void doStop() throws Exception { + // noop + } + + public ExceptionHandler getExceptionHandler() { + return exceptionHandler; + } + + public void setExceptionHandler(ExceptionHandler exceptionHandler) { + this.exceptionHandler = exceptionHandler; + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendAndResumeTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendAndResumeTest.java b/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendAndResumeTest.java index 1ec6cf8..c23a55d 100644 --- a/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendAndResumeTest.java +++ b/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendAndResumeTest.java @@ -24,7 +24,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendTest.java b/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendTest.java index 6ece394..49b9755 100644 --- a/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendTest.java +++ b/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSuspendTest.java @@ -23,7 +23,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyCallbackTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyCallbackTest.java b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyCallbackTest.java index 0d64025..b48d31e 100644 --- a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyCallbackTest.java +++ b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyCallbackTest.java @@ -20,6 +20,7 @@ import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.support.RoutePolicySupport; /** * http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java index f3b3e16..08ce57d 100644 --- a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java +++ b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicyFactoryTest.java @@ -24,6 +24,7 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.model.RouteDefinition; import org.apache.camel.spi.RoutePolicy; import org.apache.camel.spi.RoutePolicyFactory; +import org.apache.camel.support.RoutePolicySupport; public class RoutePolicyFactoryTest extends ContextTestSupport { http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/impl/RoutePolicySupportTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicySupportTest.java b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicySupportTest.java index 93c56b8..090eb65 100644 --- a/camel-core/src/test/java/org/apache/camel/impl/RoutePolicySupportTest.java +++ b/camel-core/src/test/java/org/apache/camel/impl/RoutePolicySupportTest.java @@ -21,6 +21,7 @@ import org.apache.camel.ContextTestSupport; import org.apache.camel.Route; import org.apache.camel.ServiceStatus; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.support.RoutePolicySupport; import org.junit.Test; public class RoutePolicySupportTest extends ContextTestSupport { http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/management/ManagedSuspendedServiceTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedSuspendedServiceTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedSuspendedServiceTest.java index 5c933cf..ab4b197 100644 --- a/camel-core/src/test/java/org/apache/camel/management/ManagedSuspendedServiceTest.java +++ b/camel-core/src/test/java/org/apache/camel/management/ManagedSuspendedServiceTest.java @@ -25,7 +25,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/processor/CustomRoutePolicyTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/CustomRoutePolicyTest.java b/camel-core/src/test/java/org/apache/camel/processor/CustomRoutePolicyTest.java index 2fe1a3c..e1bd264 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/CustomRoutePolicyTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/CustomRoutePolicyTest.java @@ -23,7 +23,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/processor/CustomScheduledRoutePolicyTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/CustomScheduledRoutePolicyTest.java b/camel-core/src/test/java/org/apache/camel/processor/CustomScheduledRoutePolicyTest.java index d93fbbb..5627c37 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/CustomScheduledRoutePolicyTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/CustomScheduledRoutePolicyTest.java @@ -20,7 +20,7 @@ import org.apache.camel.ContextTestSupport; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java b/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java index b9987de..5ea6b39 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java +++ b/camel-core/src/test/java/org/apache/camel/processor/FlipRoutePolicy.java @@ -19,7 +19,7 @@ package org.apache.camel.processor; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Route; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java b/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java index 6f60e06..6427f31 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesRefTest.java @@ -22,7 +22,7 @@ import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.impl.JndiRegistry; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesTest.java b/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesTest.java index 84273b9..01e7733 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/RoutePoliciesTest.java @@ -21,7 +21,7 @@ import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomRoutePolicyTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomRoutePolicyTest.java b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomRoutePolicyTest.java index 7b7c854..5f7bcdd 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomRoutePolicyTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/async/AsyncEndpointCustomRoutePolicyTest.java @@ -24,7 +24,7 @@ import org.apache.camel.Processor; import org.apache.camel.Route; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * @version http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java ---------------------------------------------------------------------- diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java index bb89aed..a59f077 100644 --- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java +++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java @@ -27,10 +27,10 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.ShutdownRunningTask; import org.apache.camel.SuspendableService; -import org.apache.camel.impl.LoggingExceptionHandler; import org.apache.camel.spi.ExceptionHandler; import org.apache.camel.spi.ShutdownAware; import org.apache.camel.spi.Synchronization; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.support.ServiceSupport; import org.apache.camel.util.AsyncProcessorConverterHelper; import org.apache.camel.util.ExchangeHelper; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java ---------------------------------------------------------------------- diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java index c659d50..f6d5bb1 100644 --- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java +++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultSpringErrorHandler.java @@ -16,8 +16,9 @@ */ package org.apache.camel.component.jms; +import org.apache.camel.CamelContext; import org.apache.camel.LoggingLevel; -import org.apache.camel.impl.LoggingExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.springframework.util.ErrorHandler; /** @@ -28,8 +29,8 @@ public class DefaultSpringErrorHandler implements ErrorHandler { private final LoggingExceptionHandler handler; private final boolean logStackTrace; - public DefaultSpringErrorHandler(Class<?> owner, LoggingLevel level, boolean logStackTrace) { - this.handler = new LoggingExceptionHandler(owner, level); + public DefaultSpringErrorHandler(CamelContext camelContext, Class<?> owner, LoggingLevel level, boolean logStackTrace) { + this.handler = new LoggingExceptionHandler(camelContext, owner, level); this.logStackTrace = logStackTrace; } http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java index a8c2485..163d9c9 100644 --- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java +++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java @@ -989,7 +989,7 @@ public class JmsConfiguration implements Cloneable { if (errorHandler != null) { container.setErrorHandler(errorHandler); } else { - ErrorHandler handler = new DefaultSpringErrorHandler(EndpointMessageListener.class, getErrorHandlerLoggingLevel(), isErrorHandlerLogStackTrace()); + ErrorHandler handler = new DefaultSpringErrorHandler(endpoint.getCamelContext(), EndpointMessageListener.class, getErrorHandlerLoggingLevel(), isErrorHandlerLogStackTrace()); container.setErrorHandler(handler); } http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java ---------------------------------------------------------------------- diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java index eef52de..ebb91c5 100644 --- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java +++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/QueueReplyManager.java @@ -196,7 +196,7 @@ public class QueueReplyManager extends ReplyManagerSupport { if (endpoint.getErrorHandler() != null) { answer.setErrorHandler(endpoint.getErrorHandler()); } else { - answer.setErrorHandler(new DefaultSpringErrorHandler(QueueReplyManager.class, endpoint.getErrorHandlerLoggingLevel(), endpoint.isErrorHandlerLogStackTrace())); + answer.setErrorHandler(new DefaultSpringErrorHandler(endpoint.getCamelContext(), QueueReplyManager.class, endpoint.getErrorHandlerLoggingLevel(), endpoint.isErrorHandlerLogStackTrace())); } if (endpoint.getReceiveTimeout() >= 0) { answer.setReceiveTimeout(endpoint.getReceiveTimeout()); http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java ---------------------------------------------------------------------- diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java index 54915e0..fc0a4e7 100644 --- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java +++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java @@ -140,7 +140,7 @@ public class TemporaryQueueReplyManager extends ReplyManagerSupport { if (endpoint.getErrorHandler() != null) { answer.setErrorHandler(endpoint.getErrorHandler()); } else { - answer.setErrorHandler(new DefaultSpringErrorHandler(TemporaryQueueReplyManager.class, endpoint.getErrorHandlerLoggingLevel(), endpoint.isErrorHandlerLogStackTrace())); + answer.setErrorHandler(new DefaultSpringErrorHandler(endpoint.getCamelContext(), TemporaryQueueReplyManager.class, endpoint.getErrorHandlerLoggingLevel(), endpoint.isErrorHandlerLogStackTrace())); } if (endpoint.getReceiveTimeout() >= 0) { answer.setReceiveTimeout(endpoint.getReceiveTimeout()); http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/routepolicy/MetricsRoutePolicy.java ---------------------------------------------------------------------- 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 68c247a..179b17e 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 @@ -23,7 +23,7 @@ import com.codahale.metrics.Timer; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; import org.apache.camel.Route; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; import org.apache.camel.util.ObjectHelper; /** http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java b/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java index b355413..9963d93 100644 --- a/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java +++ b/components/camel-quartz/src/main/java/org/apache/camel/routepolicy/quartz/ScheduledRoutePolicy.java @@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit; import org.apache.camel.Route; import org.apache.camel.ServiceStatus; import org.apache.camel.component.quartz.QuartzComponent; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ServiceHelper; import org.quartz.JobDetail; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-quartz2/src/main/java/org/apache/camel/routepolicy/quartz2/ScheduledRoutePolicy.java ---------------------------------------------------------------------- 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 eaeaeee..84a9d6f 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 @@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit; import org.apache.camel.Route; import org.apache.camel.ServiceStatus; import org.apache.camel.component.quartz2.QuartzComponent; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ServiceHelper; import org.quartz.JobBuilder; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxServiceSupport.java ---------------------------------------------------------------------- diff --git a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxServiceSupport.java b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxServiceSupport.java index 325889d..65f846b 100644 --- a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxServiceSupport.java +++ b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxServiceSupport.java @@ -21,8 +21,8 @@ import java.util.concurrent.ExecutorService; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.impl.LoggingExceptionHandler; import org.apache.camel.spi.ExceptionHandler; +import org.apache.camel.support.LoggingExceptionHandler; import org.apache.camel.support.ServiceSupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,7 +37,7 @@ public abstract class RouteboxServiceSupport extends ServiceSupport { public RouteboxServiceSupport(RouteboxEndpoint endpoint) { this.endpoint = endpoint; if (exceptionHandler == null) { - exceptionHandler = new LoggingExceptionHandler(getClass()); + exceptionHandler = new LoggingExceptionHandler(endpoint.getCamelContext(), getClass()); } } http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRoutePoliciesTest.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRoutePoliciesTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRoutePoliciesTest.java index a79937a..7c90dce 100644 --- a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRoutePoliciesTest.java +++ b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRoutePoliciesTest.java @@ -19,8 +19,8 @@ package org.apache.camel.spring.processor; import org.apache.camel.Exchange; import org.apache.camel.Route; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.impl.RoutePolicySupport; import org.apache.camel.spring.SpringTestSupport; +import org.apache.camel.support.RoutePolicySupport; import org.springframework.context.support.AbstractXmlApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; http://git-wip-us.apache.org/repos/asf/camel/blob/259648fc/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/policy/ZooKeeperRoutePolicy.java ---------------------------------------------------------------------- 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 1c68222..d059101 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 @@ -24,7 +24,7 @@ import java.util.concurrent.locks.ReentrantLock; import org.apache.camel.Exchange; import org.apache.camel.Route; -import org.apache.camel.impl.RoutePolicySupport; +import org.apache.camel.support.RoutePolicySupport; /** * <code>ZooKeeperRoutePolicy</code> uses the leader election capabilities of a