Repository: camel Updated Branches: refs/heads/camel-2.17.x f01c5ebba -> 291ea10af refs/heads/master 8a18e2849 -> 940fde21b
[CAMEL-10233] Lazy load ModelJAXBContextFactory in SpringCamelContext Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/07394f36 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/07394f36 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/07394f36 Branch: refs/heads/master Commit: 07394f36e2b1b9ee6cf0fb23a7b2c9bd2cf29e4d Parents: 8a18e28 Author: James Netherton <jamesnether...@gmail.com> Authored: Wed Aug 10 17:23:12 2016 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Aug 11 10:07:31 2016 +0200 ---------------------------------------------------------------------- .../main/java/org/apache/camel/impl/DefaultCamelContext.java | 6 +++++- .../main/java/org/apache/camel/spring/SpringCamelContext.java | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/07394f36/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java index 3d0f13b..4391d57 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java @@ -3938,7 +3938,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon public ModelJAXBContextFactory getModelJAXBContextFactory() { if (modelJAXBContextFactory == null) { - modelJAXBContextFactory = new DefaultModelJAXBContextFactory(); + modelJAXBContextFactory = createModelJAXBContextFactory(); } return modelJAXBContextFactory; } @@ -4254,6 +4254,10 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon } } + protected ModelJAXBContextFactory createModelJAXBContextFactory() { + return new DefaultModelJAXBContextFactory(); + } + @Override public String toString() { return "CamelContext(" + getName() + ")"; http://git-wip-us.apache.org/repos/asf/camel/blob/07394f36/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java b/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java index 62b988f..1d160fd 100644 --- a/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java +++ b/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java @@ -24,6 +24,7 @@ import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.ProcessorEndpoint; import org.apache.camel.spi.Injector; import org.apache.camel.spi.ManagementMBeanAssembler; +import org.apache.camel.spi.ModelJAXBContextFactory; import org.apache.camel.spi.Registry; import org.apache.camel.spring.spi.ApplicationContextRegistry; import org.apache.camel.spring.spi.SpringInjector; @@ -68,7 +69,6 @@ public class SpringCamelContext extends DefaultCamelContext implements Initializ public SpringCamelContext(ApplicationContext applicationContext) { setApplicationContext(applicationContext); - setModelJAXBContextFactory(new SpringModelJAXBContextFactory()); } public static void setNoStart(boolean b) { @@ -261,6 +261,11 @@ public class SpringCamelContext extends DefaultCamelContext implements Initializ return new ApplicationContextRegistry(getApplicationContext()); } + @Override + protected ModelJAXBContextFactory createModelJAXBContextFactory() { + return new SpringModelJAXBContextFactory(); + } + private void maybeStart() throws Exception { // for example from unit testing we want to start Camel later and not when Spring framework // publish a ContextRefreshedEvent