Polished. Fixes #674

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5d43573b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5d43573b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5d43573b

Branch: refs/heads/camel-2.16.x
Commit: 5d43573bd1130945cc99bea2b43e182a6391b56a
Parents: 91fa3ec
Author: Claus Ibsen <[email protected]>
Authored: Wed Nov 11 08:17:03 2015 +0100
Committer: Claus Ibsen <[email protected]>
Committed: Wed Nov 11 08:19:06 2015 +0100

----------------------------------------------------------------------
 .../org/apache/camel/spring/boot/RoutesCollector.java | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/5d43573b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
----------------------------------------------------------------------
diff --git 
a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
 
b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
index 49e39c4..e864707 100644
--- 
a/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
+++ 
b/components/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/RoutesCollector.java
@@ -57,6 +57,7 @@ public class RoutesCollector implements 
ApplicationListener<ContextRefreshedEven
     public void onApplicationEvent(ContextRefreshedEvent 
contextRefreshedEvent) {
         ApplicationContext applicationContext = 
contextRefreshedEvent.getApplicationContext();
                CamelContext camelContext = 
contextRefreshedEvent.getApplicationContext().getBean(CamelContext.class);
+        // if we have not yet started
         if (camelContext.getStatus() == ServiceStatus.Stopped) {
             LOG.debug("Post-processing CamelContext bean: {}", 
camelContext.getName());
             for (RoutesBuilder routesBuilder : 
applicationContext.getBeansOfType(RoutesBuilder.class).values()) {
@@ -64,19 +65,18 @@ public class RoutesCollector implements 
ApplicationListener<ContextRefreshedEven
                     LOG.debug("Injecting following route into the 
CamelContext: {}", routesBuilder);
                     camelContext.addRoutes(routesBuilder);
                 } catch (Exception e) {
-                    throw new RuntimeException(e);
+                    throw new CamelSpringBootInitializationException(e);
                 }
             }
 
-            loadXmlRoutes(applicationContext, camelContext);
+            try {
+                loadXmlRoutes(applicationContext, camelContext);
 
-            if (camelContextConfigurations != null) {
                 for (CamelContextConfiguration camelContextConfiguration : 
camelContextConfigurations) {
                     LOG.debug("CamelContextConfiguration found. Invoking: {}", 
camelContextConfiguration);
                     
camelContextConfiguration.beforeApplicationStart(camelContext);
                 }
-            }
-            try {
+
                 camelContext.start();
             } catch (Exception e) {
                 throw new CamelSpringBootInitializationException(e);
@@ -88,7 +88,7 @@ public class RoutesCollector implements 
ApplicationListener<ContextRefreshedEven
 
     // Helpers
 
-    private void loadXmlRoutes(ApplicationContext applicationContext, 
CamelContext camelContext) {
+    private void loadXmlRoutes(ApplicationContext applicationContext, 
CamelContext camelContext) throws Exception {
         LOG.debug("Started XML routes detection. Scanning classpath 
(/camel/*.xml)...");
         try {
             Resource[] xmlRoutes = 
applicationContext.getResources("classpath:camel/*.xml");
@@ -98,8 +98,6 @@ public class RoutesCollector implements 
ApplicationListener<ContextRefreshedEven
             }
         } catch (FileNotFoundException e) {
             LOG.debug("No XMl routes found in the classpath (/camel/*.xml). 
Skipping XML routes detection.");
-        } catch (Exception e) {
-            throw new RuntimeException(e);
         }
     }
 

Reply via email to