This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch console in repository https://gitbox.apache.org/repos/asf/camel.git
commit 6400c9f98e24d9927672b306dac118e88c9b6f6e Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Mon Dec 27 16:05:30 2021 +0100 CAMEL-17384: Developer Console SPI --- .../core/xml/AbstractCamelContextFactoryBean.java | 21 +++++++++++++++++++++ .../camel/main/DefaultConfigurationConfigurer.java | 21 +++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java index 07661d1..a56c765 100644 --- a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java +++ b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java @@ -49,6 +49,8 @@ import org.apache.camel.cluster.CamelClusterService; import org.apache.camel.component.properties.PropertiesComponent; import org.apache.camel.component.properties.PropertiesLocation; import org.apache.camel.component.properties.PropertiesParser; +import org.apache.camel.console.DevConsole; +import org.apache.camel.console.DevConsoleRegistry; import org.apache.camel.health.HealthCheckRegistry; import org.apache.camel.health.HealthCheckRepository; import org.apache.camel.impl.debugger.BacklogTracer; @@ -409,6 +411,25 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex } } } + // Dev console registry + DevConsoleRegistry devConsoleRegistry = getBeanForType(DevConsoleRegistry.class); + if (devConsoleRegistry != null) { + devConsoleRegistry.setCamelContext(getContext()); + LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry); + getContext().setExtension(DevConsoleRegistry.class, devConsoleRegistry); + } else { + // okay attempt to inject this camel context into existing dev console (if any) + devConsoleRegistry = DevConsoleRegistry.get(getContext()); + if (devConsoleRegistry != null) { + devConsoleRegistry.setCamelContext(getContext()); + } + } + if (devConsoleRegistry != null) { + Set<DevConsole> consoles = getContext().getRegistry().findByType(DevConsole.class); + for (DevConsole console : consoles) { + devConsoleRegistry.register(console); + } + } // UuidGenerator UuidGenerator uuidGenerator = getBeanForType(UuidGenerator.class); if (uuidGenerator != null) { diff --git a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java index 2476d46..5f290b8 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java @@ -29,6 +29,8 @@ import org.apache.camel.ExtendedCamelContext; import org.apache.camel.TypeConverters; import org.apache.camel.cloud.ServiceRegistry; import org.apache.camel.cluster.CamelClusterService; +import org.apache.camel.console.DevConsole; +import org.apache.camel.console.DevConsoleRegistry; import org.apache.camel.health.HealthCheckRegistry; import org.apache.camel.health.HealthCheckRepository; import org.apache.camel.impl.debugger.BacklogTracer; @@ -513,6 +515,25 @@ public final class DefaultConfigurationConfigurer { } } } + // dev console + DevConsoleRegistry devConsoleRegistry = getSingleBeanOfType(registry, DevConsoleRegistry.class); + if (devConsoleRegistry != null) { + devConsoleRegistry.setCamelContext(camelContext); + LOG.debug("Using DevConsoleRegistry: {}", devConsoleRegistry); + camelContext.setExtension(DevConsoleRegistry.class, devConsoleRegistry); + } else { + // okay attempt to inject this camel context into existing dev console (if any) + devConsoleRegistry = DevConsoleRegistry.get(camelContext); + if (devConsoleRegistry != null) { + devConsoleRegistry.setCamelContext(camelContext); + } + } + if (devConsoleRegistry != null) { + Set<DevConsole> consoles = registry.findByType(DevConsole.class); + for (DevConsole console : consoles) { + devConsoleRegistry.register(console); + } + } // set the default thread pool profile if defined initThreadPoolProfiles(registry, camelContext);