This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch 13514
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4d6ecbae193c3f0250ed89e5323db44ea2128f78
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue May 14 13:30:07 2019 +0200

    CAMEL-13522: camel3 - The various Camel exceptions should favour extending 
runtime exception
---
 .../java/org/apache/camel/AlreadyStoppedException.java   |  3 +--
 .../org/apache/camel/CamelAuthorizationException.java    |  2 +-
 .../src/main/java/org/apache/camel/CamelException.java   |  1 -
 .../java/org/apache/camel/CamelExchangeException.java    |  1 -
 .../java/org/apache/camel/CamelExecutionException.java   |  1 -
 .../java/org/apache/camel/CamelUnitOfWorkException.java  |  4 ++--
 .../java/org/apache/camel/ExchangeTimedOutException.java |  1 -
 .../java/org/apache/camel/ExpectedBodyTypeException.java |  2 +-
 .../org/apache/camel/ExpressionEvaluationException.java  |  2 --
 .../apache/camel/ExpressionIllegalSyntaxException.java   |  1 -
 .../apache/camel/FailedToCreateConsumerException.java    |  1 -
 .../apache/camel/FailedToCreateProducerException.java    |  1 -
 .../org/apache/camel/FailedToCreateRouteException.java   |  4 ++--
 .../org/apache/camel/FailedToStartRouteException.java    |  3 +--
 .../java/org/apache/camel/InvalidPayloadException.java   |  1 -
 .../org/apache/camel/InvalidPayloadRuntimeException.java |  1 -
 .../java/org/apache/camel/InvalidPropertyException.java  |  2 +-
 .../java/org/apache/camel/LoadPropertiesException.java   |  2 +-
 .../org/apache/camel/NoFactoryAvailableException.java    |  3 +--
 .../main/java/org/apache/camel/NoSuchBeanException.java  |  2 +-
 .../java/org/apache/camel/NoSuchEndpointException.java   |  5 ++---
 .../java/org/apache/camel/NoSuchHeaderException.java     |  2 +-
 .../java/org/apache/camel/NoSuchLanguageException.java   |  2 +-
 .../java/org/apache/camel/NoSuchPropertyException.java   |  2 +-
 .../apache/camel/NoTypeConversionAvailableException.java |  1 -
 .../org/apache/camel/ProxyInstantiationException.java    |  1 -
 .../org/apache/camel/ResolveEndpointFailedException.java |  1 -
 .../java/org/apache/camel/RollbackExchangeException.java |  1 -
 .../java/org/apache/camel/RuntimeCamelException.java     | 16 ++++++++++++++++
 .../java/org/apache/camel/RuntimeExchangeException.java  |  1 -
 .../org/apache/camel/RuntimeExpressionException.java     |  2 --
 .../java/org/apache/camel/RuntimeTransformException.java |  2 --
 .../java/org/apache/camel/TypeConversionException.java   |  1 -
 .../org/apache/camel/TypeConverterLoaderException.java   |  3 +--
 .../main/java/org/apache/camel/ValidationException.java  |  1 -
 .../org/apache/camel/VetoCamelContextStartException.java |  2 +-
 .../org/apache/camel/support/service/ServiceSupport.java | 12 ++++++------
 .../apache/camel/impl/engine/AbstractCamelContext.java   |  6 +++---
 .../org/apache/camel/impl/engine/BaseRouteService.java   |  2 +-
 .../DirectVmTwoCamelContextDuplicateConsumerTest.java    |  4 ++--
 .../camel/impl/LifecycleStrategyFailOnStartupTest.java   |  4 ++--
 .../processor/WeightedRoundRobinLoadBalanceTest.java     |  2 +-
 .../AggregateUnknownExecutorServiceRefTest.java          |  5 ++---
 .../onexception/OnExceptionHandledAndContinueTest.java   |  4 ++--
 .../onexception/OnExceptionMisconfiguredTest.java        | 10 +++++-----
 45 files changed, 59 insertions(+), 71 deletions(-)

diff --git 
a/core/camel-api/src/main/java/org/apache/camel/AlreadyStoppedException.java 
b/core/camel-api/src/main/java/org/apache/camel/AlreadyStoppedException.java
index ec06aee..2e37d83 100644
--- a/core/camel-api/src/main/java/org/apache/camel/AlreadyStoppedException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/AlreadyStoppedException.java
@@ -19,8 +19,7 @@ package org.apache.camel;
 /**
  * Exception thrown in situations when a {@link Service} has already been 
stopped.
  */
-public class AlreadyStoppedException extends CamelException {
-    private static final long serialVersionUID = -8721487434390572639L;
+public class AlreadyStoppedException extends RuntimeCamelException {
 
     public AlreadyStoppedException() {
         super("Already stopped");
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/CamelAuthorizationException.java
 
b/core/camel-api/src/main/java/org/apache/camel/CamelAuthorizationException.java
index b2f0167..0e4e46c 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/CamelAuthorizationException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/CamelAuthorizationException.java
@@ -22,7 +22,7 @@ package org.apache.camel;
  * Camel should not process the message as a result.
  */
 public class CamelAuthorizationException extends CamelExchangeException {
-    private static final long serialVersionUID = 1L;
+
     private final String policyId;
     
     public CamelAuthorizationException(String message, Exchange exchange) {
diff --git a/core/camel-api/src/main/java/org/apache/camel/CamelException.java 
b/core/camel-api/src/main/java/org/apache/camel/CamelException.java
index 61b0e22..d4031cc 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CamelException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CamelException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * Base class for all Camel checked exceptions typically thrown by a {@link 
Processor}
  */
 public class CamelException extends Exception {
-    private static final long serialVersionUID = -8721487434390572630L;
 
     public CamelException() {
     }
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/CamelExchangeException.java 
b/core/camel-api/src/main/java/org/apache/camel/CamelExchangeException.java
index 6894658..4339677 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CamelExchangeException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CamelExchangeException.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel;
 
-
 /**
  * An exception caused by a specific message {@link Exchange}
  */
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/CamelExecutionException.java 
b/core/camel-api/src/main/java/org/apache/camel/CamelExecutionException.java
index c910612..2823525 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CamelExecutionException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CamelExecutionException.java
@@ -23,7 +23,6 @@ package org.apache.camel;
  * to send messages to Camel.
  */
 public class CamelExecutionException extends RuntimeExchangeException {
-    private static final long serialVersionUID = -5821095325248904305L;
 
     public CamelExecutionException(String message, Exchange exchange) {
         super(message, exchange);
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/CamelUnitOfWorkException.java 
b/core/camel-api/src/main/java/org/apache/camel/CamelUnitOfWorkException.java
index 7e95f55..9d335eb 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/CamelUnitOfWorkException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/CamelUnitOfWorkException.java
@@ -26,8 +26,8 @@ import java.util.List;
  * from the {@link #getCauses()} method.
  */
 public class CamelUnitOfWorkException extends CamelExchangeException {
-    private static final long serialVersionUID = 1L;
-    private final List<Exception> causes;
+
+    private transient final List<Exception> causes;
 
     public CamelUnitOfWorkException(Exchange exchange, List<Exception> causes) 
{
         // just provide the first exception as cause, as it will be logged in 
the stacktraces
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ExchangeTimedOutException.java 
b/core/camel-api/src/main/java/org/apache/camel/ExchangeTimedOutException.java
index 2c8ac85..43c2308 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ExchangeTimedOutException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ExchangeTimedOutException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * An exception thrown if an InOut exchange times out receiving the OUT message
  */
 public class ExchangeTimedOutException extends CamelExchangeException {
-    private static final long serialVersionUID = -7899162905421788853L;
 
     private final long timeout;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ExpectedBodyTypeException.java 
b/core/camel-api/src/main/java/org/apache/camel/ExpectedBodyTypeException.java
index 5a02b1f..ea5385db 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ExpectedBodyTypeException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ExpectedBodyTypeException.java
@@ -20,7 +20,7 @@ package org.apache.camel;
  * Thrown if the body could not be converted to the required type
  */
 public class ExpectedBodyTypeException extends RuntimeCamelException {
-    private static final long serialVersionUID = -7121445152234363768L;
+
     private final transient Exchange exchange;
     private final transient Class<?> expectedBodyType;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ExpressionEvaluationException.java
 
b/core/camel-api/src/main/java/org/apache/camel/ExpressionEvaluationException.java
index ba05253..6854ae7 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ExpressionEvaluationException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ExpressionEvaluationException.java
@@ -21,8 +21,6 @@ package org.apache.camel;
  */
 public class ExpressionEvaluationException extends RuntimeCamelException {
 
-    private static final long serialVersionUID = 2939802714638174540L;
-    
     private final transient Expression expression;
     private final transient Exchange exchange;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
 
b/core/camel-api/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
index 6dfa46d..6102eda 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * An exception thrown if the expression contains illegal syntax.
  */
 public class ExpressionIllegalSyntaxException extends RuntimeCamelException {
-    private static final long serialVersionUID = 6545652894842621836L;
 
     private final String expression;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateConsumerException.java
 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateConsumerException.java
index ddac88a2..e1ac1fb 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateConsumerException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateConsumerException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * Thrown if Camel failed to create a consumer for a given endpoint.
  */
 public class FailedToCreateConsumerException extends RuntimeCamelException {
-    private static final long serialVersionUID = 1916718168052020246L;
 
     private final String uri;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateProducerException.java
 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateProducerException.java
index 7bfcc5f..5a1ab7e 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateProducerException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateProducerException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * Thrown if Camel failed to create a producer for a given endpoint.
  */
 public class FailedToCreateProducerException extends RuntimeCamelException {
-    private static final long serialVersionUID = 1341435621084082033L;
 
     private final String uri;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteException.java
 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteException.java
index 1c67a99..921ac53 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteException.java
@@ -21,8 +21,8 @@ import org.apache.camel.util.URISupport;
 /**
  * Exception when failing to create a {@link org.apache.camel.Route}.
  */
-public class FailedToCreateRouteException extends CamelException {
-    private static final long serialVersionUID = 1L;
+public class FailedToCreateRouteException extends RuntimeCamelException {
+
     private final String routeId;
 
     public FailedToCreateRouteException(String routeId, String route, 
Throwable cause) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/FailedToStartRouteException.java
 
b/core/camel-api/src/main/java/org/apache/camel/FailedToStartRouteException.java
index c172a11..35f3fff 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/FailedToStartRouteException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/FailedToStartRouteException.java
@@ -19,8 +19,7 @@ package org.apache.camel;
 /**
  * Exception when failing to start a {@link Route}.
  */
-public class FailedToStartRouteException extends CamelException {
-    private static final long serialVersionUID = -6118520819865759888L;
+public class FailedToStartRouteException extends RuntimeCamelException {
 
     public FailedToStartRouteException(String routeId, String message) {
         super("Failed to start route " + routeId + " because of " + message);
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadException.java 
b/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadException.java
index 507e9d1..127fc15 100644
--- a/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadException.java
@@ -21,7 +21,6 @@ package org.apache.camel;
  */
 public class InvalidPayloadException extends CamelExchangeException {
 
-    private static final long serialVersionUID = -1689157578733908632L;
     private final transient Class<?> type;
 
     public InvalidPayloadException(Exchange exchange, Class<?> type) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadRuntimeException.java
 
b/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadRuntimeException.java
index 2ef0f0d..c87b522 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadRuntimeException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/InvalidPayloadRuntimeException.java
@@ -21,7 +21,6 @@ package org.apache.camel;
  */
 public class InvalidPayloadRuntimeException extends RuntimeExchangeException {
 
-    private static final long serialVersionUID = -155083097523464793L;
     private final transient Class<?> type;
 
     public InvalidPayloadRuntimeException(Exchange exchange, Class<?> type) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/InvalidPropertyException.java 
b/core/camel-api/src/main/java/org/apache/camel/InvalidPropertyException.java
index 1a9155f..490f816 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/InvalidPropertyException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/InvalidPropertyException.java
@@ -20,7 +20,7 @@ package org.apache.camel;
  * An exception caused when an invalid property name is used on an object
  */
 public class InvalidPropertyException extends RuntimeCamelException {
-    private static final long serialVersionUID = 3450859794325167954L;
+
     private final transient Object owner;
     private final String propertyName;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/LoadPropertiesException.java 
b/core/camel-api/src/main/java/org/apache/camel/LoadPropertiesException.java
index df93662..501c49e 100644
--- a/core/camel-api/src/main/java/org/apache/camel/LoadPropertiesException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/LoadPropertiesException.java
@@ -22,7 +22,7 @@ import java.net.URL;
  * Represents a failure to open a Properties file at a given URL
  */
 public class LoadPropertiesException extends CamelException {
-    private static final long serialVersionUID = 3684303677685065529L;
+
     private final URL url;
 
     public LoadPropertiesException(URL url, Exception cause) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoFactoryAvailableException.java
 
b/core/camel-api/src/main/java/org/apache/camel/NoFactoryAvailableException.java
index 7a42052..ec42b21 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/NoFactoryAvailableException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/NoFactoryAvailableException.java
@@ -22,12 +22,11 @@ import java.io.IOException;
  * Thrown if no factory resource is available for the given URI
  */
 public class NoFactoryAvailableException extends IOException {
-    private static final long serialVersionUID = -425141860196708627L;
 
     private final String uri;
 
     public NoFactoryAvailableException(String uri) {
-        super("Could not find factory class for resource: " + uri);
+        super("Cannot find factory class for resource: " + uri);
         this.uri = uri;
     }
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoSuchBeanException.java 
b/core/camel-api/src/main/java/org/apache/camel/NoSuchBeanException.java
index fc07e16..73c85ef 100644
--- a/core/camel-api/src/main/java/org/apache/camel/NoSuchBeanException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/NoSuchBeanException.java
@@ -20,7 +20,7 @@ package org.apache.camel;
  * A runtime exception if a given bean could not be found in the {@link 
org.apache.camel.spi.Registry}
  */
 public class NoSuchBeanException extends RuntimeCamelException {
-    private static final long serialVersionUID = -8721487431101572630L;
+
     private final String name;
 
     public NoSuchBeanException(String name) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java 
b/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java
index ff92204..7a9c9cb 100644
--- a/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java
@@ -18,11 +18,10 @@ package org.apache.camel;
 
 /**
  * A runtime exception thrown if a routing processor such as a
- * {@link org.apache.camel.processor.RecipientList RecipientList} is unable to 
resolve an
- * {@link Endpoint} from a URI.
+ * recipient list is unable to resolve an {@link Endpoint} from a URI.
  */
 public class NoSuchEndpointException extends RuntimeCamelException {
-    private static final long serialVersionUID = -8721487431101572630L;
+
     private final String uri;
 
     public NoSuchEndpointException(String uri) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoSuchHeaderException.java 
b/core/camel-api/src/main/java/org/apache/camel/NoSuchHeaderException.java
index 5abd3f4..59e86cd 100644
--- a/core/camel-api/src/main/java/org/apache/camel/NoSuchHeaderException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/NoSuchHeaderException.java
@@ -23,7 +23,7 @@ package org.apache.camel;
  * @see org.apache.camel.support.ExchangeHelper#getMandatoryHeader(Exchange, 
String, Class)
  */
 public class NoSuchHeaderException extends CamelExchangeException {
-    private static final long serialVersionUID = -8721487431101572630L;
+
     private final String headerName;
     private final transient Class<?> type;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoSuchLanguageException.java 
b/core/camel-api/src/main/java/org/apache/camel/NoSuchLanguageException.java
index f415e18..1b84804 100644
--- a/core/camel-api/src/main/java/org/apache/camel/NoSuchLanguageException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/NoSuchLanguageException.java
@@ -23,7 +23,7 @@ package org.apache.camel;
  * @see org.apache.camel.CamelContext#resolveLanguage(String)
  */
 public class NoSuchLanguageException extends RuntimeCamelException {
-    private static final long serialVersionUID = -8721487431101572630L;
+
     private final String language;
 
     public NoSuchLanguageException(String language) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoSuchPropertyException.java 
b/core/camel-api/src/main/java/org/apache/camel/NoSuchPropertyException.java
index d4ad00d..6ce1e7b 100644
--- a/core/camel-api/src/main/java/org/apache/camel/NoSuchPropertyException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/NoSuchPropertyException.java
@@ -24,7 +24,7 @@ package org.apache.camel;
  * 
  */
 public class NoSuchPropertyException extends CamelExchangeException {
-    private static final long serialVersionUID = -8721487431101572630L;
+
     private final String propertyName;
     private final transient Class<?> type;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoTypeConversionAvailableException.java
 
b/core/camel-api/src/main/java/org/apache/camel/NoTypeConversionAvailableException.java
index 6a5f172..d9e56d9 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/NoTypeConversionAvailableException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/NoTypeConversionAvailableException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * An exception thrown if a value could not be converted to the required type
  */
 public class NoTypeConversionAvailableException extends CamelException {
-    private static final long serialVersionUID = -8721487434390572636L;
 
     private final transient Object value;
     private final transient Class<?> type;
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ProxyInstantiationException.java
 
b/core/camel-api/src/main/java/org/apache/camel/ProxyInstantiationException.java
index decc1db..26858ce 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ProxyInstantiationException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ProxyInstantiationException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * Exception indicating a failure while trying to create a proxy of a given 
type and on a given endpoint
  */
 public class ProxyInstantiationException extends RuntimeCamelException {
-    private static final long serialVersionUID = -2050115486047385506L;
 
     private final Class<?> type;
     private final Endpoint endpoint;
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
 
b/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
index f919861..ed0915b 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * A runtime exception thrown if an {@link Endpoint} cannot be resolved via URI
  */
 public class ResolveEndpointFailedException extends RuntimeCamelException {
-    private static final long serialVersionUID = -9121465713858552263L;
 
     private final String uri;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/RollbackExchangeException.java 
b/core/camel-api/src/main/java/org/apache/camel/RollbackExchangeException.java
index 42c634b..e4b7feb 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/RollbackExchangeException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/RollbackExchangeException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * Exception used for forcing an Exchange to be rolled back.
  */
 public class RollbackExchangeException extends CamelExchangeException {
-    private static final long serialVersionUID = -7837446508365767066L;
 
     public RollbackExchangeException(Exchange exchange) {
         this("Intended rollback", exchange);
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/RuntimeCamelException.java 
b/core/camel-api/src/main/java/org/apache/camel/RuntimeCamelException.java
index ad2b040..67a4e8c1 100644
--- a/core/camel-api/src/main/java/org/apache/camel/RuntimeCamelException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/RuntimeCamelException.java
@@ -52,4 +52,20 @@ public class RuntimeCamelException extends RuntimeException {
             return new RuntimeCamelException(e);
         }
     }
+
+    /**
+     * Wraps the caused exception in a {@link RuntimeCamelException} if its not
+     * already a runtime exception.
+     *
+     * @param e the caused exception
+     * @return the wrapper exception
+     */
+    public static RuntimeException wrapRuntimeException(Throwable e) {
+        if (e instanceof RuntimeException) {
+            // don't double wrap
+            return (RuntimeException) e;
+        } else {
+            return new RuntimeCamelException(e);
+        }
+    }
 }
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/RuntimeExchangeException.java 
b/core/camel-api/src/main/java/org/apache/camel/RuntimeExchangeException.java
index 173455c..ebd4be8 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/RuntimeExchangeException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/RuntimeExchangeException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * A runtime exception caused by a specific message {@link Exchange}
  */
 public class RuntimeExchangeException extends RuntimeCamelException {
-    private static final long serialVersionUID = -8721487431101572630L;
     private final transient Exchange exchange;
 
     public RuntimeExchangeException(String message, Exchange exchange) {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/RuntimeExpressionException.java 
b/core/camel-api/src/main/java/org/apache/camel/RuntimeExpressionException.java
index 788be87..5e3b524 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/RuntimeExpressionException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/RuntimeExpressionException.java
@@ -21,8 +21,6 @@ package org.apache.camel;
  */
 public class RuntimeExpressionException extends RuntimeCamelException {
 
-    private static final long serialVersionUID = -8417806626073055262L;
-
     public RuntimeExpressionException(String message) {
         super(message);
     }
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/RuntimeTransformException.java 
b/core/camel-api/src/main/java/org/apache/camel/RuntimeTransformException.java
index fd6346f..2138d92 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/RuntimeTransformException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/RuntimeTransformException.java
@@ -21,8 +21,6 @@ package org.apache.camel;
  */
 public class RuntimeTransformException extends RuntimeCamelException {
 
-    private static final long serialVersionUID = -8417806626073055262L;
-
     public RuntimeTransformException(String message) {
         super(message);
     }
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/TypeConversionException.java 
b/core/camel-api/src/main/java/org/apache/camel/TypeConversionException.java
index c2c4332..5134fd9 100644
--- a/core/camel-api/src/main/java/org/apache/camel/TypeConversionException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/TypeConversionException.java
@@ -20,7 +20,6 @@ package org.apache.camel;
  * Exception when failing during type conversion.
  */
 public class TypeConversionException extends RuntimeCamelException {
-    private static final long serialVersionUID = -6118520819865759886L;
 
     private final transient Object value;
     private final transient Class<?> type;
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/TypeConverterLoaderException.java
 
b/core/camel-api/src/main/java/org/apache/camel/TypeConverterLoaderException.java
index 5ec1b2e..e23d011 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/TypeConverterLoaderException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/TypeConverterLoaderException.java
@@ -19,8 +19,7 @@ package org.apache.camel;
 /**
  * Exception when failing to load type converters.
  */
-public class TypeConverterLoaderException extends CamelException {
-    private static final long serialVersionUID = -6118520819865759887L;
+public class TypeConverterLoaderException extends RuntimeCamelException {
 
     public TypeConverterLoaderException(String message) {
         super("Failed to load type converters because of: " + message);
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ValidationException.java 
b/core/camel-api/src/main/java/org/apache/camel/ValidationException.java
index cebdc89..66798be 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ValidationException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ValidationException.java
@@ -23,7 +23,6 @@ package org.apache.camel;
  * of the particular validation technology used.
  */
 public class ValidationException extends CamelExchangeException {
-    private static final long serialVersionUID = -7485357452450907415L;
 
     public ValidationException(Exchange exchange, String message) {
         super(message, exchange);
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/VetoCamelContextStartException.java
 
b/core/camel-api/src/main/java/org/apache/camel/VetoCamelContextStartException.java
index 5c3700b..16a8dfb 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/VetoCamelContextStartException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/VetoCamelContextStartException.java
@@ -25,7 +25,7 @@ package org.apache.camel;
  * @see org.apache.camel.spi.LifecycleStrategy
  */
 public class VetoCamelContextStartException extends Exception {
-    private static final long serialVersionUID = 8046489554418284257L;
+
     private final CamelContext context;
     private final boolean rethrowException;
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java
 
b/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java
index accfb46..71119d7 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceSupport.java
@@ -60,7 +60,7 @@ public abstract class ServiceSupport implements 
StatefulService {
                     try {
                         doInit();
                     } catch (Exception e) {
-                        throw 
RuntimeCamelException.wrapRuntimeCamelException(e);
+                        throw RuntimeCamelException.wrapRuntimeException(e);
                     }
                     status = INITIALIZED;
                 }
@@ -100,7 +100,7 @@ public abstract class ServiceSupport implements 
StatefulService {
             } catch (Exception e) {
                 status = FAILED;
                 log.trace("Error while starting service: " + this, e);
-                throw RuntimeCamelException.wrapRuntimeCamelException(e);
+                throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
     }
@@ -130,7 +130,7 @@ public abstract class ServiceSupport implements 
StatefulService {
             } catch (Exception e) {
                 status = FAILED;
                 log.trace("Error while stopping service: " + this, e);
-                throw RuntimeCamelException.wrapRuntimeCamelException(e);
+                throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
     }
@@ -161,7 +161,7 @@ public abstract class ServiceSupport implements 
StatefulService {
             } catch (Exception e) {
                 status = FAILED;
                 log.trace("Error while suspending service: " + this, e);
-                throw RuntimeCamelException.wrapRuntimeCamelException(e);
+                throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
     }
@@ -188,7 +188,7 @@ public abstract class ServiceSupport implements 
StatefulService {
             } catch (Exception e) {
                 status = FAILED;
                 log.trace("Error while resuming service: " + this, e);
-                throw RuntimeCamelException.wrapRuntimeCamelException(e);
+                throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
     }
@@ -220,7 +220,7 @@ public abstract class ServiceSupport implements 
StatefulService {
             } catch (Exception e) {
                 status = FAILED;
                 log.trace("Error shutting down service: " + this, e);
-                throw RuntimeCamelException.wrapRuntimeCamelException(e);
+                throw RuntimeCamelException.wrapRuntimeException(e);
             }
         }
     }
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 95bc12b..51aa0aa 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
@@ -2171,7 +2171,7 @@ public abstract class AbstractCamelContext extends 
ServiceSupport implements Cam
                 try {
                     doStartOrResumeRoutes(routeServices, true, true, false, 
true);
                 } catch (Exception e) {
-                    throw RuntimeCamelException.wrapRuntimeCamelException(e);
+                    throw RuntimeCamelException.wrapRuntimeException(e);
                 }
             }
 
@@ -2195,7 +2195,7 @@ public abstract class AbstractCamelContext extends 
ServiceSupport implements Cam
                         return;
                     }
                 } else {
-                    throw RuntimeCamelException.wrapRuntimeCamelException(e);
+                    throw RuntimeCamelException.wrapRuntimeException(e);
                 }
             }
 
@@ -2229,7 +2229,7 @@ public abstract class AbstractCamelContext extends 
ServiceSupport implements Cam
                     try {
                         
((ExtendedStartupListener)startup).onCamelContextFullyStarted(this, 
isStarted());
                     } catch (Exception e) {
-                        throw 
RuntimeCamelException.wrapRuntimeCamelException(e);
+                        throw RuntimeCamelException.wrapRuntimeException(e);
                     }
                 }
             }
diff --git 
a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
 
b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
index b2b3097..bc76fe4 100644
--- 
a/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
+++ 
b/core/camel-base/src/main/java/org/apache/camel/impl/engine/BaseRouteService.java
@@ -205,7 +205,7 @@ public abstract class BaseRouteService extends 
ChildServiceSupport {
         try {
             warmUp();
         } catch (FailedToStartRouteException e) {
-            throw RuntimeCamelException.wrapRuntimeCamelException(e);
+            throw RuntimeCamelException.wrapRuntimeException(e);
         }
 
         try (MDCHelper mdcHelper = new MDCHelper(route.getId())) {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmTwoCamelContextDuplicateConsumerTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmTwoCamelContextDuplicateConsumerTest.java
index 75ad01f..1b37fe7 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmTwoCamelContextDuplicateConsumerTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/directvm/DirectVmTwoCamelContextDuplicateConsumerTest.java
@@ -34,8 +34,8 @@ public class DirectVmTwoCamelContextDuplicateConsumerTest 
extends AbstractDirect
         try {
             third.start();
             fail("Should have thrown exception");
-        } catch (IllegalStateException e) {
-            assertEquals("A consumer Consumer[direct-vm://foo] already exists 
from CamelContext: camel-1. Multiple consumers not supported", e.getMessage());
+        } catch (Exception e) {
+            assertEquals("A consumer Consumer[direct-vm://foo] already exists 
from CamelContext: camel-1. Multiple consumers not supported", 
e.getCause().getMessage());
         }
 
         // stop first camel context then
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/impl/LifecycleStrategyFailOnStartupTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/impl/LifecycleStrategyFailOnStartupTest.java
index ef57f29..1c5d1f1 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/impl/LifecycleStrategyFailOnStartupTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/impl/LifecycleStrategyFailOnStartupTest.java
@@ -38,8 +38,8 @@ public class LifecycleStrategyFailOnStartupTest extends 
TestSupport {
         try {
             context.start();
             fail("Should have thrown exception");
-        } catch (IllegalArgumentException e) {
-            assertEquals("Forced", e.getMessage());
+        } catch (Exception e) {
+            assertEquals("Forced", e.getCause().getMessage());
         }
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/WeightedRoundRobinLoadBalanceTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/WeightedRoundRobinLoadBalanceTest.java
index 7dd0b52..4afa96d 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/WeightedRoundRobinLoadBalanceTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/WeightedRoundRobinLoadBalanceTest.java
@@ -130,7 +130,7 @@ public class WeightedRoundRobinLoadBalanceTest extends 
ContextTestSupport {
             context.start();
             fail("Should have thrown exception");
         } catch (Exception e) {
-            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
+            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
             assertEquals("Loadbalacing with 3 should match number of 
distributions 2", iae.getMessage());
         }
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateUnknownExecutorServiceRefTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateUnknownExecutorServiceRefTest.java
index 87f06ce..b9692e5 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateUnknownExecutorServiceRefTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/AggregateUnknownExecutorServiceRefTest.java
@@ -17,7 +17,6 @@
 package org.apache.camel.processor.aggregator;
 
 import org.apache.camel.ContextTestSupport;
-import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.processor.BodyInAggregatingStrategy;
 import org.junit.Test;
@@ -48,8 +47,8 @@ public class AggregateUnknownExecutorServiceRefTest extends 
ContextTestSupport {
             });
             context.start();
             fail("Should have thrown exception");
-        } catch (FailedToCreateRouteException e) {
-            IllegalArgumentException cause = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
+        } catch (Exception e) {
+            IllegalArgumentException cause = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
             assertTrue(cause.getMessage().contains("myUnknownProfile"));
         }
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledAndContinueTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledAndContinueTest.java
index 3c1f8c2..38c360c 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledAndContinueTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionHandledAndContinueTest.java
@@ -45,8 +45,8 @@ public class OnExceptionHandledAndContinueTest extends 
ContextTestSupport {
             context.start();
             fail("Should thrown an exception");
         } catch (Exception e) {
-            assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
-            assertTrue(e.getCause().getMessage().startsWith("Only one of 
handled or continued is allowed to be configured"));
+            assertIsInstanceOf(IllegalArgumentException.class, 
e.getCause().getCause());
+            assertTrue(e.getCause().getCause().getMessage().startsWith("Only 
one of handled or continued is allowed to be configured"));
         }
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionMisconfiguredTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionMisconfiguredTest.java
index a56cab4..6475f91 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionMisconfiguredTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionMisconfiguredTest.java
@@ -48,7 +48,7 @@ public class OnExceptionMisconfiguredTest extends 
ContextTestSupport {
             context.start();
             fail("Should have thrown exception");
         } catch (Exception e) {
-            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
+            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
             assertEquals("OnException[[java.lang.Exception] -> []] is not 
configured.", iae.getMessage());
         }
     }
@@ -67,7 +67,7 @@ public class OnExceptionMisconfiguredTest extends 
ContextTestSupport {
             context.start();
             fail("Should have thrown exception");
         } catch (Exception e) {
-            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
+            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
             assertEquals("OnException[[java.lang.Exception] -> []] is not 
configured.", iae.getMessage());
         }
     }
@@ -87,7 +87,7 @@ public class OnExceptionMisconfiguredTest extends 
ContextTestSupport {
             context.start();
             fail("Should have thrown exception");
         } catch (Exception e) {
-            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
+            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
             assertEquals("OnException[[java.lang.Exception] -> []] is not 
configured.", iae.getMessage());
         }
     }
@@ -107,7 +107,7 @@ public class OnExceptionMisconfiguredTest extends 
ContextTestSupport {
             context.start();
             fail("Should have thrown exception");
         } catch (Exception e) {
-            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
+            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
             assertEquals("OnException[[java.lang.Exception] -> []] is not 
configured.", iae.getMessage());
         }
     }
@@ -128,7 +128,7 @@ public class OnExceptionMisconfiguredTest extends 
ContextTestSupport {
             context.start();
             fail("Should have thrown exception");
         } catch (Exception e) {
-            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
+            IllegalArgumentException iae = 
assertIsInstanceOf(IllegalArgumentException.class, e.getCause().getCause());
             assertTrue(iae.getMessage().startsWith("At least one exception 
must be configured"));
         }
     }

Reply via email to