You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/05/15 09:03:49 UTC

[camel] 04/11: CAMEL-13514: Service API should not use checked exceptions in start/stop methods.

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 ee798e1ff070f909abea101d0f123affb2a65233
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue May 14 11:48:45 2019 +0200

    CAMEL-13514: Service API should not use checked exceptions in start/stop methods.
---
 .../apache/camel/blueprint/BlueprintCamelContext.java   |  4 ++--
 .../org/apache/camel/cdi/test/EventComponentTest.java   |  4 ++--
 .../camel/cdi/test/UnstoppedCamelContextBeanTest.java   |  2 +-
 .../component/cxf/CxfMultipleConsumersSupportTest.java  |  3 +--
 .../apache/camel/language/groovy/GroovyLanguage.java    |  4 ++--
 .../HttpsTwoDifferentSslContextParametersGetTest.java   |  2 +-
 .../CamelJaxbNoNamespaceSchemaLocationSpringTest.java   |  4 ++--
 .../java/org/apache/camel/jaxb/CamelJaxbSpringTest.java |  4 ++--
 .../org/apache/camel/component/jms/JmsEndpoint.java     |  4 ++--
 .../camel/component/jt400/Jt400DataQueueService.java    | 11 ++++++++---
 .../KafkaConsumerRebalancePartitionRevokeTest.java      |  4 ++--
 .../component/kafka/KafkaConsumerRebalanceTest.java     |  4 ++--
 .../cluster/lock/KubernetesLeadershipController.java    |  4 ++--
 .../kubernetes/cluster/lock/TimedLeaderNotifier.java    | 10 +++++++---
 .../camel/component/lucene/LuceneIndexProducer.java     |  7 ++-----
 .../camel/component/lucene/LuceneQueryProducer.java     |  6 ++++--
 .../netty4/http/HttpServerBootstrapFactory.java         |  2 +-
 .../camel/component/quartz2/QuartzPropertiesTest.java   |  5 ++---
 .../streams/support/ReactiveStreamsTestService.java     |  4 ++--
 .../restlet/RestRestletCustomDataFormatInvalidTest.java |  3 +--
 .../camel/component/salesforce/SalesforceComponent.java |  7 ++-----
 .../salesforce/internal/SalesforceSession.java          | 17 +++++++++++++----
 .../salesforce/internal/client/AbstractClientBase.java  | 10 +++++++---
 .../internal/processor/AbstractRestProcessor.java       |  4 ++--
 .../internal/processor/AnalyticsApiProcessor.java       |  4 ++--
 .../salesforce/internal/processor/BulkApiProcessor.java |  4 ++--
 .../internal/processor/CompositeApiProcessor.java       |  4 ++--
 .../org/apache/camel/component/seda/SedaEndpoint.java   |  4 ++--
 .../org/apache/camel/language/spel/SpelLanguage.java    |  4 ++--
 .../processor/JavaDslTransactedNoTXManagerTest.java     |  3 +--
 .../apache/camel/spring/processor/SpringTestHelper.java |  4 ++--
 .../camel/component/webhook/MultiRestConsumer.java      |  4 ++--
 .../camel/component/websocket/MemoryWebsocketStore.java |  4 ++--
 .../xstream/SpringMarshalDomainObjectJSONTest.java      |  4 ++--
 .../camel/dataformat/xstream/SpringMarshalListTest.java |  4 ++--
 .../dataformat/xstream/SpringMarshalOmitFieldsTest.java |  4 ++--
 .../xstream/SpringXStreamConfigurationTest.java         |  4 ++--
 37 files changed, 97 insertions(+), 83 deletions(-)

diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
index 51b6193..f5827f2 100644
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
+++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
@@ -105,7 +105,7 @@ public class BlueprintCamelContext extends DefaultCamelContext implements Servic
         this.bundleStateService = bundleStateService;
     }
    
-    public void doInit() {
+    public void doInit() throws Exception {
         log.trace("init {}", this);
         // add service listener so we can be notified when blueprint container is done
         // and we would be ready to start CamelContext
@@ -234,7 +234,7 @@ public class BlueprintCamelContext extends DefaultCamelContext implements Servic
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         final ClassLoader original = Thread.currentThread().getContextClassLoader();
         try {
             // let's set a more suitable TCCL while starting the context
diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/EventComponentTest.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/EventComponentTest.java
index 39452b9..ba766eb 100644
--- a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/EventComponentTest.java
+++ b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/EventComponentTest.java
@@ -78,11 +78,11 @@ public class EventComponentTest {
     static class NotStartedCamelContext extends DefaultCamelContext {
 
         @Override
-        public void start() throws Exception {
+        public void start() {
             start(false);
         }
 
-        void start(boolean start) throws Exception {
+        void start(boolean start) {
             if (start) {
                 super.start();
             }
diff --git a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/UnstoppedCamelContextBeanTest.java b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/UnstoppedCamelContextBeanTest.java
index 66098ce..d0ac9248 100644
--- a/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/UnstoppedCamelContextBeanTest.java
+++ b/components/camel-cdi/src/test/java/org/apache/camel/cdi/test/UnstoppedCamelContextBeanTest.java
@@ -80,7 +80,7 @@ class UnstoppedCamelContext extends DefaultCamelContext {
     static boolean isStopCalled;
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         super.stop();
         isStopCalled = true;
     }
diff --git a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java
index 418a599..7b812ce 100644
--- a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java
+++ b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfMultipleConsumersSupportTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.cxf;
 
-import org.apache.camel.FailedToStartRouteException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit4.CamelTestSupport;
 import org.junit.Test;
@@ -49,7 +48,7 @@ public class CxfMultipleConsumersSupportTest extends CamelTestSupport {
         try {
             context.start();
             fail("Should have thrown an exception");
-        } catch (FailedToStartRouteException e) {
+        } catch (Exception e) {
             assertTrue(e.getMessage().endsWith(
                 "Multiple consumers for the same endpoint is not allowed: cxf://http://localhost:" + port1 
                 + "/CxfMultipleConsumersSupportTest/test?serviceClass=org.apache.camel.component.cxf.HelloService"));
diff --git a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java
index da89ec4..2d7ed0c 100644
--- a/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java
+++ b/components/camel-groovy/src/main/java/org/apache/camel/language/groovy/GroovyLanguage.java
@@ -40,11 +40,11 @@ public class GroovyLanguage extends LanguageSupport {
         }
 
         @Override
-        public void start() throws Exception {
+        public void start() {
         }
 
         @Override
-        public void stop() throws Exception {
+        public void stop() {
             InvokerHelper.removeClass(script);
         }
 
diff --git a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpsTwoDifferentSslContextParametersGetTest.java b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpsTwoDifferentSslContextParametersGetTest.java
index 2d6acb2..38a25e6 100644
--- a/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpsTwoDifferentSslContextParametersGetTest.java
+++ b/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpsTwoDifferentSslContextParametersGetTest.java
@@ -87,7 +87,7 @@ public class HttpsTwoDifferentSslContextParametersGetTest extends BaseHttpsTest
         try {
             context.start();
             fail("Should have thrown exception");
-        } catch (FailedToCreateRouteException e) {
+        } catch (Exception e) {
             IllegalArgumentException iae = (IllegalArgumentException) e.getCause().getCause();
             assertNotNull(iae);
             assertTrue(iae.getMessage().startsWith("Only same instance of SSLContextParameters is supported."));
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbNoNamespaceSchemaLocationSpringTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbNoNamespaceSchemaLocationSpringTest.java
index ed9c7c2..d5ab95f 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbNoNamespaceSchemaLocationSpringTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbNoNamespaceSchemaLocationSpringTest.java
@@ -29,11 +29,11 @@ public class CamelJaxbNoNamespaceSchemaLocationSpringTest extends CamelJaxbNoNam
         setUseRouteBuilder(false);
         final AbstractXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/jaxb/CamelJaxbNoNamespaceSchemaLocationTest.xml");
         setCamelContextService(new Service() {
-            public void start() throws Exception {
+            public void start() {
                 applicationContext.start();
             }
 
-            public void stop() throws Exception {
+            public void stop() {
                 applicationContext.stop();
             }
         });
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbSpringTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbSpringTest.java
index 07a05dc..ea06f3b 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbSpringTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/jaxb/CamelJaxbSpringTest.java
@@ -29,11 +29,11 @@ public class CamelJaxbSpringTest extends CamelJaxbTest {
         setUseRouteBuilder(false);
         final AbstractXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/jaxb/CamelJaxbTest.xml");
         setCamelContextService(new Service() {
-            public void start() throws Exception {
+            public void start() {
                 applicationContext.start();
             }
 
-            public void stop() throws Exception {
+            public void stop() {
                 applicationContext.stop();
             }
         });
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
index ad15dff..c53524b 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
@@ -485,7 +485,7 @@ public class JmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         int running = runningMessageListeners.get();
         if (running <= 0) {
             super.stop();
@@ -495,7 +495,7 @@ public class JmsEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade
     }
 
     @Override
-    public void shutdown() throws Exception {
+    public void shutdown() {
         int running = runningMessageListeners.get();
         if (running <= 0) {
             super.shutdown();
diff --git a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueService.java b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueService.java
index dbea19b..40aaecd 100644
--- a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueService.java
+++ b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400DataQueueService.java
@@ -20,6 +20,7 @@ import com.ibm.as400.access.AS400;
 import com.ibm.as400.access.BaseDataQueue;
 import com.ibm.as400.access.DataQueue;
 import com.ibm.as400.access.KeyedDataQueue;
+import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.Service;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -58,7 +59,7 @@ class Jt400DataQueueService implements Service {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         if (queue == null) {
             AS400 system = endpoint.getSystem();
             if (endpoint.isKeyed()) {
@@ -69,12 +70,16 @@ class Jt400DataQueueService implements Service {
         }
         if (!queue.getSystem().isConnected(AS400.DATAQUEUE)) {
             LOG.info("Connecting to {}", endpoint);
-            queue.getSystem().connectService(AS400.DATAQUEUE);
+            try {
+                queue.getSystem().connectService(AS400.DATAQUEUE);
+            } catch (Exception e) {
+                throw RuntimeCamelException.wrapRuntimeCamelException(e);
+            }
         }
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         if (queue != null) {
             LOG.info("Releasing connection to {}", endpoint);
             AS400 system = queue.getSystem();
diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalancePartitionRevokeTest.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalancePartitionRevokeTest.java
index a3fbc88..15ccbba 100644
--- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalancePartitionRevokeTest.java
+++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalancePartitionRevokeTest.java
@@ -99,11 +99,11 @@ public class KafkaConsumerRebalancePartitionRevokeTest extends BaseEmbeddedKafka
         }
 
         @Override
-        public void start() throws Exception {
+        public void start() {
         }
 
         @Override
-        public void stop() throws Exception {
+        public void stop() {
         }
 
         @Override
diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalanceTest.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalanceTest.java
index 349ee71..d1f799c 100644
--- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalanceTest.java
+++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaConsumerRebalanceTest.java
@@ -80,11 +80,11 @@ public class KafkaConsumerRebalanceTest extends BaseEmbeddedKafkaTest {
         }
 
         @Override
-        public void start() throws Exception {
+        public void start() {
         }
 
         @Override
-        public void stop() throws Exception {
+        public void stop() {
         }
 
         @Override
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
index 8a3f9cb..2035253 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/KubernetesLeadershipController.java
@@ -75,7 +75,7 @@ public class KubernetesLeadershipController implements Service {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         if (serializedExecutor == null) {
             LOG.debug("{} Starting leadership controller...", logPrefix());
             serializedExecutor = camelContext.getExecutorServiceManager().newSingleThreadScheduledExecutor(this, "CamelKubernetesLeadershipController");
@@ -87,7 +87,7 @@ public class KubernetesLeadershipController implements Service {
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         LOG.debug("{} Stopping leadership controller...", logPrefix());
         if (serializedExecutor != null) {
             serializedExecutor.shutdownNow();
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java
index 4b82b09..383b4b9 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cluster/lock/TimedLeaderNotifier.java
@@ -92,20 +92,24 @@ public class TimedLeaderNotifier implements Service {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         if (this.executor == null) {
             this.executor = camelContext.getExecutorServiceManager().newSingleThreadScheduledExecutor(this, "CamelKubernetesLeaderNotifier");
         }
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         if (this.executor != null) {
             ScheduledExecutorService executor = this.executor;
             this.executor = null;
 
             executor.shutdownNow();
-            executor.awaitTermination(1, TimeUnit.SECONDS);
+            try {
+                executor.awaitTermination(1, TimeUnit.SECONDS);
+            } catch (InterruptedException e) {
+                // ignore
+            }
         }
     }
 
diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexProducer.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexProducer.java
index ce87fee..874958a 100644
--- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexProducer.java
+++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneIndexProducer.java
@@ -30,11 +30,8 @@ public class LuceneIndexProducer extends DefaultProducer {
         this.indexer = indexer;
     }
     
-    public void start() throws Exception {
-        super.doStart();
-    }
-
-    public void stop() throws Exception {
+    @Override
+    public void doStop() throws Exception {
         this.indexer.getNiofsDirectory().close();
         super.doStop();
     }
diff --git a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
index 0fe5ee6..5448e30 100644
--- a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
+++ b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneQueryProducer.java
@@ -39,12 +39,14 @@ public class LuceneQueryProducer extends DefaultProducer {
         maxNumberOfHits = config.getMaxHits();
     }
     
-    public void start() throws Exception {
+    @Override
+    public void doStart() throws Exception {
         searcher = new LuceneSearcher();
         super.doStart();
     }
 
-    public void stop() throws Exception {
+    @Override
+    public void doStop() throws Exception {
         searcher.close();
         super.doStop();
     }
diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerBootstrapFactory.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerBootstrapFactory.java
index bd83155..d4a1d26 100644
--- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerBootstrapFactory.java
+++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/HttpServerBootstrapFactory.java
@@ -88,7 +88,7 @@ public class HttpServerBootstrapFactory extends SingleTCPNettyServerBootstrapFac
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         // only stop if no more active consumers
         int consumers = channelFactory.consumers();
         if (consumers == 0) {
diff --git a/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzPropertiesTest.java b/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzPropertiesTest.java
index 8348a3d..7203ce2 100644
--- a/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzPropertiesTest.java
+++ b/components/camel-quartz2/src/test/java/org/apache/camel/component/quartz2/QuartzPropertiesTest.java
@@ -15,13 +15,12 @@
  * limitations under the License.
  */
 package org.apache.camel.component.quartz2;
+
 import java.io.InputStream;
 import java.util.Properties;
 
 import org.junit.After;
 import org.junit.Test;
-import org.quartz.SchedulerException;
-
 
 public class QuartzPropertiesTest extends BaseQuartzTest {
 
@@ -60,7 +59,7 @@ public class QuartzPropertiesTest extends BaseQuartzTest {
         try {
             quartz.start();
             fail("Should have thrown exception");
-        } catch (SchedulerException e) {
+        } catch (Exception e) {
             assertEquals("Error loading Quartz properties file: doesnotexist.properties", e.getMessage());
         }
     }
diff --git a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestService.java b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestService.java
index 23ee9bd..65e54e2 100644
--- a/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestService.java
+++ b/components/camel-reactive-streams/src/test/java/org/apache/camel/component/reactive/streams/support/ReactiveStreamsTestService.java
@@ -38,12 +38,12 @@ public class ReactiveStreamsTestService implements CamelReactiveStreamsService {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
 
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
 
     }
 
diff --git a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestRestletCustomDataFormatInvalidTest.java b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestRestletCustomDataFormatInvalidTest.java
index f0759b6..3ecd926 100644
--- a/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestRestletCustomDataFormatInvalidTest.java
+++ b/components/camel-restlet/src/test/java/org/apache/camel/component/restlet/RestRestletCustomDataFormatInvalidTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.component.restlet;
 
-import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.jackson.JacksonDataFormat;
 import org.apache.camel.impl.JndiRegistry;
@@ -58,7 +57,7 @@ public class RestRestletCustomDataFormatInvalidTest extends RestletTestSupport {
         try {
             context.start();
             fail("Should have thrown exception");
-        } catch (FailedToCreateRouteException e) {
+        } catch (Exception e) {
             assertTrue(e.getCause().getMessage().contains("JsonDataFormat name: bla must not be an existing bean instance from the registry"));
         }
     }
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
index 72230af..328306a 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/SalesforceComponent.java
@@ -385,11 +385,8 @@ public class SalesforceComponent extends DefaultComponent implements SSLContextP
                 subscriptionHelper = null;
             }
             if (session != null && session.getAccessToken() != null) {
-                try {
-                    // logout of Salesforce
-                    ServiceHelper.stopService(session);
-                } catch (SalesforceException ignored) {
-                }
+                // logout of Salesforce
+                ServiceHelper.stopService(session);
             }
         } finally {
             if (httpClient != null) {
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java
index 685c783..8af3d8a 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/SalesforceSession.java
@@ -38,6 +38,7 @@ import java.util.concurrent.TimeoutException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.Service;
 import org.apache.camel.component.salesforce.AuthenticationType;
 import org.apache.camel.component.salesforce.SalesforceHttpClient;
@@ -355,15 +356,23 @@ public class SalesforceSession implements Service {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         // auto-login at start if needed
-        login(accessToken);
+        try {
+            login(accessToken);
+        } catch (SalesforceException e) {
+            throw RuntimeCamelException.wrapRuntimeCamelException(e);
+        }
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         // logout
-        logout();
+        try {
+            logout();
+        } catch (SalesforceException e) {
+            throw RuntimeCamelException.wrapRuntimeCamelException(e);
+        }
     }
 
     public long getTimeout() {
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
index 479207d..3251057 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
@@ -100,12 +100,16 @@ public abstract class AbstractClientBase implements SalesforceSession.Salesforce
         this.terminationTimeout = terminationTimeout;
     }
 
-    public void start() throws Exception {
+    public void start() {
         // local cache
         accessToken = session.getAccessToken();
         if (accessToken == null) {
             // lazy login here!
-            accessToken = session.login(accessToken);
+            try {
+                accessToken = session.login(accessToken);
+            } catch (SalesforceException e) {
+                throw new RuntimeException(e);
+            }
         }
         instanceUrl = session.getInstanceUrl();
 
@@ -116,7 +120,7 @@ public abstract class AbstractClientBase implements SalesforceSession.Salesforce
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         if (inflightRequests != null) {
             inflightRequests.arrive();
             if (!inflightRequests.isTerminated()) {
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
index 36d26e2..c870de5 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AbstractRestProcessor.java
@@ -94,12 +94,12 @@ public abstract class AbstractRestProcessor extends AbstractSalesforceProcessor
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         ServiceHelper.startService(restClient);
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         ServiceHelper.stopService(restClient);
     }
 
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
index a3e5776..944e923 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/AnalyticsApiProcessor.java
@@ -222,12 +222,12 @@ public class AnalyticsApiProcessor extends AbstractSalesforceProcessor {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         ServiceHelper.startService(analyticsClient);
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         // stop the client
         ServiceHelper.stopService(analyticsClient);
     }
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
index 67cc41c..42de8c0 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/BulkApiProcessor.java
@@ -434,12 +434,12 @@ public class BulkApiProcessor extends AbstractSalesforceProcessor {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         ServiceHelper.startService(bulkClient);
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         // stop the client
         ServiceHelper.stopService(bulkClient);
     }
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
index ed31c22..86f3279 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/processor/CompositeApiProcessor.java
@@ -95,12 +95,12 @@ public final class CompositeApiProcessor extends AbstractSalesforceProcessor {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         ServiceHelper.startService(compositeClient);
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         ServiceHelper.stopService(compositeClient);
     }
 
diff --git a/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java b/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
index 9ec4d14..783f8f2 100644
--- a/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
+++ b/components/camel-seda/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
@@ -492,7 +492,7 @@ public class SedaEndpoint extends DefaultEndpoint implements AsyncEndpoint, Brow
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         if (getConsumers().isEmpty()) {
             super.stop();
         } else {
@@ -501,7 +501,7 @@ public class SedaEndpoint extends DefaultEndpoint implements AsyncEndpoint, Brow
     }
 
     @Override
-    public void shutdown() throws Exception {
+    public void shutdown() {
         if (isShutdown()) {
             log.trace("Service already shut down");
             return;
diff --git a/components/camel-spring/src/main/java/org/apache/camel/language/spel/SpelLanguage.java b/components/camel-spring/src/main/java/org/apache/camel/language/spel/SpelLanguage.java
index 708614f..f5ed197 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/language/spel/SpelLanguage.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/language/spel/SpelLanguage.java
@@ -47,7 +47,7 @@ public class SpelLanguage extends LanguageSupport implements Service {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         ObjectHelper.notNull(getCamelContext(), "CamelContext", this);
 
         if (getCamelContext() instanceof SpringCamelContext) {
@@ -59,7 +59,7 @@ public class SpelLanguage extends LanguageSupport implements Service {
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         // noop
     }
 }
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/JavaDslTransactedNoTXManagerTest.java b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/JavaDslTransactedNoTXManagerTest.java
index f623b9f..60574d6 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/JavaDslTransactedNoTXManagerTest.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/JavaDslTransactedNoTXManagerTest.java
@@ -17,7 +17,6 @@
 package org.apache.camel.spring.processor;
 
 import org.apache.camel.ContextTestSupport;
-import org.apache.camel.FailedToCreateRouteException;
 import org.apache.camel.NoSuchBeanException;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
@@ -40,7 +39,7 @@ public class JavaDslTransactedNoTXManagerTest extends ContextTestSupport {
         try {
             context.start();
             fail("Should have thrown an exception");
-        } catch (FailedToCreateRouteException e) {
+        } catch (Exception e) {
             NoSuchBeanException cause = assertIsInstanceOf(NoSuchBeanException.class, e.getCause());
             assertEquals("No bean could be found in the registry of type: PlatformTransactionManager", cause.getMessage());
         }
diff --git a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java
index def4260..10b2b79 100644
--- a/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java
+++ b/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java
@@ -33,11 +33,11 @@ public final class SpringTestHelper {
 
         final AbstractXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(classpathUri);
         test.setCamelContextService(new Service() {
-            public void start() throws Exception {
+            public void start() {
                 applicationContext.start();
             }
 
-            public void stop() throws Exception {
+            public void stop() {
                 applicationContext.stop();
             }
         });
diff --git a/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java b/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java
index 65b3420..36443c2 100644
--- a/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java
+++ b/components/camel-webhook/src/main/java/org/apache/camel/component/webhook/MultiRestConsumer.java
@@ -71,14 +71,14 @@ public class MultiRestConsumer implements Consumer {
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         for (Consumer consumer : this.delegateConsumers) {
             consumer.start();
         }
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         for (Consumer consumer : this.delegateConsumers) {
             consumer.stop();
         }
diff --git a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/MemoryWebsocketStore.java b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/MemoryWebsocketStore.java
index b0afac5..e9310b9 100644
--- a/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/MemoryWebsocketStore.java
+++ b/components/camel-websocket/src/main/java/org/apache/camel/component/websocket/MemoryWebsocketStore.java
@@ -49,12 +49,12 @@ public class MemoryWebsocketStore extends ConcurrentHashMap<String, DefaultWebso
     }
 
     @Override
-    public void start() throws Exception {
+    public void start() {
         // noop
     }
 
     @Override
-    public void stop() throws Exception {
+    public void stop() {
         clear();
     }
     
diff --git a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalDomainObjectJSONTest.java b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalDomainObjectJSONTest.java
index 851cc88..4a10494 100644
--- a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalDomainObjectJSONTest.java
+++ b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalDomainObjectJSONTest.java
@@ -29,12 +29,12 @@ public class SpringMarshalDomainObjectJSONTest extends MarshalDomainObjectJSONTe
 
         final AbstractXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/dataformat/xstream/SpringMarshalDomainObjectJSONTest.xml");
         setCamelContextService(new Service() {
-            public void start() throws Exception {
+            public void start() {
                 applicationContext.start();
 
             }
 
-            public void stop() throws Exception {
+            public void stop() {
                 applicationContext.stop();
             }
         });
diff --git a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalListTest.java b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalListTest.java
index 86cbc41..f2d03b3 100644
--- a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalListTest.java
+++ b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalListTest.java
@@ -29,12 +29,12 @@ public class SpringMarshalListTest extends MarshalListTest {
 
         final AbstractXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("org/apache/camel/dataformat/xstream/SpringMarshalListTest.xml");
         setCamelContextService(new Service() {
-            public void start() throws Exception {
+            public void start() {
                 applicationContext.start();
 
             }
 
-            public void stop() throws Exception {
+            public void stop() {
                 applicationContext.stop();
             }
         });
diff --git a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java
index 8c3d4cb..c1fe4b7 100644
--- a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java
+++ b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.java
@@ -31,11 +31,11 @@ public class SpringMarshalOmitFieldsTest extends XStreamDataFormatOmitFieldsTest
             "org/apache/camel/dataformat/xstream/SpringMarshalOmitFieldsTest.xml");
 
         setCamelContextService(new Service() {
-            public void start() throws Exception {
+            public void start() {
                 applicationContext.start();
             }
 
-            public void stop() throws Exception {
+            public void stop() {
                 applicationContext.stop();
             }
         });
diff --git a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringXStreamConfigurationTest.java b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringXStreamConfigurationTest.java
index 9cf564a..57f3e32 100644
--- a/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringXStreamConfigurationTest.java
+++ b/components/camel-xstream/src/test/java/org/apache/camel/dataformat/xstream/SpringXStreamConfigurationTest.java
@@ -31,11 +31,11 @@ public class SpringXStreamConfigurationTest extends XStreamConfigurationTest {
             "org/apache/camel/dataformat/xstream/SpringXStreamConfigurationTest.xml");
 
         setCamelContextService(new Service() {
-            public void start() throws Exception {
+            public void start() {
                 applicationContext.start();
             }
 
-            public void stop() throws Exception {
+            public void stop() {
                 applicationContext.stop();
             }
         });