This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push: new 1ba6715 CAMEL-13582: Camel main - init to initialize as much as possible 1ba6715 is described below commit 1ba67159035f882b06be7757b25fb047c1e84069 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon May 27 13:12:26 2019 +0200 CAMEL-13582: Camel main - init to initialize as much as possible --- .../src/main/java/org/apache/camel/main/Main.java | 8 +++++++- .../src/test/java/org/apache/camel/main/MainIoCTest.java | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/core/camel-core/src/main/java/org/apache/camel/main/Main.java b/core/camel-core/src/main/java/org/apache/camel/main/Main.java index cbea1d2..ffa5e56 100644 --- a/core/camel-core/src/main/java/org/apache/camel/main/Main.java +++ b/core/camel-core/src/main/java/org/apache/camel/main/Main.java @@ -101,10 +101,16 @@ public class Main extends MainSupport { // Implementation methods // ------------------------------------------------------------------------- + + @Override + protected void doInit() throws Exception { + super.doInit(); + initCamelContext(); + } + @Override protected void doStart() throws Exception { super.doStart(); - initCamelContext(); if (getCamelContext() != null) { try { // if we were veto started then mark as completed diff --git a/core/camel-core/src/test/java/org/apache/camel/main/MainIoCTest.java b/core/camel-core/src/test/java/org/apache/camel/main/MainIoCTest.java index a7e26ee..adeb94b 100644 --- a/core/camel-core/src/test/java/org/apache/camel/main/MainIoCTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/main/MainIoCTest.java @@ -26,6 +26,7 @@ import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.component.seda.BlockingQueueFactory; import org.apache.camel.component.seda.PriorityBlockingQueueFactory; import org.apache.camel.component.seda.SedaComponent; +import org.apache.camel.model.ModelCamelContext; import org.junit.Assert; import org.junit.Test; @@ -41,6 +42,20 @@ public class MainIoCTest extends Assert { main.addRouteBuilder(MyRouteBuilder.class); // manually bind main.bind("myBar", new MyBar()); + + // should be null before init + assertNull(main.getCamelContext()); + // for testing that we can init camel and it has loaded configuration and routes and whatnot + main.init(); + // and now its created + assertNotNull(main.getCamelContext()); + // should be 1 route model + assertEquals(1, main.getCamelContext().adapt(ModelCamelContext.class).getRouteDefinitions().size()); + // and the configuration should have registered beans + assertNotNull(main.getCamelContext().getRegistry().lookupByName("MyCoolBean")); + assertEquals("Tiger", main.getCamelContext().getRegistry().lookupByName("coolStuff")); + + // start it main.start(); CamelContext camelContext = main.getCamelContext();