This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new c34a2d8  Polish and cleanup documentation
c34a2d8 is described below

commit c34a2d82f4f880c4dedd2bfa3e530b0208fdb43a
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Aug 26 10:53:58 2021 +0200

    Polish and cleanup documentation
---
 .../camel/main/DefaultConfigurationConfigurer.java |  4 +-
 docs/user-manual/modules/ROOT/nav.adoc             |  3 +-
 .../ROOT/pages/camelcontext-autoconfigure.adoc     | 79 ++++++++++++++++++++++
 .../modules/ROOT/pages/camelcontext.adoc           |  6 +-
 docs/user-manual/modules/ROOT/pages/index.adoc     |  1 +
 5 files changed, 85 insertions(+), 8 deletions(-)

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 d77f0c60..05487fd 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
@@ -458,12 +458,10 @@ public final class DefaultConfigurationConfigurer {
         if (serviceRegistries != null && !serviceRegistries.isEmpty()) {
             for (Map.Entry<String, ServiceRegistry> entry : 
serviceRegistries.entrySet()) {
                 ServiceRegistry service = entry.getValue();
-
                 if (service.getId() == null) {
                     
service.setGeneratedId(camelContext.getUuidGenerator().generateUuid());
                 }
-
-                LOG.info("Using ServiceRegistry with id: {} and 
implementation: {}", service.getId(), service);
+                LOG.info("Adding Camel Cloud ServiceRegistry with id: {} and 
implementation: {}", service.getId(), service);
                 camelContext.addService(service);
             }
         }
diff --git a/docs/user-manual/modules/ROOT/nav.adoc 
b/docs/user-manual/modules/ROOT/nav.adoc
index bbc247e..f890e2a 100644
--- a/docs/user-manual/modules/ROOT/nav.adoc
+++ b/docs/user-manual/modules/ROOT/nav.adoc
@@ -34,7 +34,8 @@
 ** xref:bean-binding.adoc[Bean Binding]
 ** xref:bean-integration.adoc[Bean Integration]
 ** xref:browsable-endpoint.adoc[BrowsableEndpoint]
-** xref:camelcontext.adoc[Context]
+** xref:camelcontext.adoc[CamelContext]
+** xref:camelcontext-autoconfigure.adoc[CamelContext Auto Configuration]
 ** xref:clustering.adoc[Clustering and Load Balancing]
 ** xref:component.adoc[Component]
 ** xref:data-format.adoc[Data Format]
diff --git 
a/docs/user-manual/modules/ROOT/pages/camelcontext-autoconfigure.adoc 
b/docs/user-manual/modules/ROOT/pages/camelcontext-autoconfigure.adoc
new file mode 100644
index 0000000..8d85dbd
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/pages/camelcontext-autoconfigure.adoc
@@ -0,0 +1,79 @@
+[[CamelContextAutoConfiguration-CamelContextAutoConfiguration]]
+= CamelContext Auto Configuration
+
+The xref:camelcontext.adoc[CamelContext] is autoconfigured when running Camel 
with either
+xref:components:others:main.adoc[Camel Main], Camel Spring Boot, Camel 
Quarkus, or Camel K.
+
+== Camel Auto Configuration
+
+Under these runtimes then the auto configuration is performed by shared code 
from the `camel-main` JAR
+to ensure the configuration is similar on these runtimes.
+
+The auto configuration is executed in several steps:
+
+1. Configure `CamelContext` (and more, such as components) from 
xref:properties-component[properties] such as `application.properties|yaml`
+2. Configure optional services that has been registering in the 
xref:registry.adoc[Registry]
+
+=== Auto configuration of Properties
+
+This is used for configuring the standard set of options (more than 100 
options) which is listed in the _Camel Main Options_ table at 
xref:components:others:main.adoc[Camel Main].
+
+NOTE: When using Camel on Spring Boot then these options are prefixed with 
`camel.springboot`, and not `camel.main`.
+
+=== Auto configuration of Optional Services
+
+After configuring the standard options, then Camel will look in the 
xref:registry.adoc[Registry] for custom
+services to be used. For example to plugin a custom `UnitOfWorkFactory`.
+
+The services can be anything that can be plugged into Camel (typically 
services that implement an SPI interface `org.apache.camel.spi`).
+
+The following SPI services, can only a single instance (singleton) be in the 
xref:registry.adoc[Registry].
+
+[width="100%",cols="2m,8",options="header",]
+|=======================================================================
+|SPI |Description
+| AsyncProcessorAwaitManager | To use a custom async processor await manager
+| BacklogTracer | To use a custom backlog tracer
+| ClassResolver | To use a custom class resolver (only needed if you run Camel 
on a special application server to deal with classloading)
+| Debugger | To use a custom xref:debugger.adoc[debugger]
+| EventFactory | To use a custom event notifier factory
+| ExchangeFactory | To use a custom xref:exchange-pooling.adoc[exchange 
factory]
+| ExecutorServiceManager | To use a custom xref:threading-model.adoc[thread 
pool manager]
+| FactoryFinderResolver | To use a custom factory finder resolver (only needed 
if you run Camel on a special application server to deal with classloading)
+| HealthCheckRegistry | To use a custom xref:health-check.adoc[health check 
registry]
+| InflightRepository | To use a custom inflight repository
+| ManagementObjectNameStrategy | To use a custom JMX MBean object naming
+| ManagementStrategy | To use a custom JMX management strategy
+| MessageHistoryFactory | To use a custom factory for 
xref:{eip-vc}:eips:message-history.adoc[message history]
+| ModelJAXBContextFactory | To use a custom `JAXBContext` factory (only needed 
if you run Camel on a special application server to deal with JAXB classloading)
+| NodeIdFactory | To use a custom factory for creating auto generated node ids
+| ProcessorFactory | To use a custom factory for creating 
xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[EIP] processors
+| PropertiesComponent | To use a custom properties component
+| ReactiveExecutor | To use a custom reactive engine in the Camel routing 
engine
+| RouteController | To use a custom xref:route-controller.adoc[route 
controller]
+| RuntimeEndpointRegistry | To use a custom runtime 
xref:endpoint.adoc[endpoint] registry
+| ShutdownStrategy | To use a custom xref:graceful-shutdown.adoc[shutdown 
strategy]
+| StartupStepRecorder | To use a custom startup recorder
+| ThreadPoolFactory | To use a custom xref:threading-model.adoc[thread pool 
factory]
+| UnitOfWorkFactory | To use a custom unit of work factory
+| UuidGenerator | To use a custom xref:uuidgenerator.adoc[uuid generator]
+|=======================================================================
+
+For the following SPI services, there can be multiple (1..n) implementations 
in the xref:registry.adoc[Registry].
+
+[width="100%",cols="2m,8",options="header",]
+|=======================================================================
+|SPIs |Description
+| CamelClusterService | Adds all the custom xref:clustering.adoc[camel-cluster 
services]
+| EndpointStrategy | Adds all the custom xref:endpoint.adoc[endpoint 
strategies]
+| EventNotifier | Adds all the custom event notifiers
+| GlobalSSLContextParametersSupplier | To use a custom supplier for 
xref:camel-configuration-utilities.adoc[JSSE (Java Security)]
+| InterceptStrategy | Adds all the custom intercept strategies
+| LifecycleStrategy | Adds all the custom lifecycle strategies
+| LogListener | Adds all the log listeners
+| ModelLifecycleStrategy | Adds all the custom model lifecycle strategies
+| RoutePolicyFactory | Adds all the custom xref:route-policy.adoc[route policy 
factories]
+| ServiceRegistry | Adds all the custom camel-cloud service registries
+| ThreadPoolProfile | Adds all the xref:threading-model.adoc[thread pool 
profiles]
+| TypeConverters | Adds all the custom xref:type-converter.adoc[type 
converters]
+|=======================================================================
diff --git a/docs/user-manual/modules/ROOT/pages/camelcontext.adoc 
b/docs/user-manual/modules/ROOT/pages/camelcontext.adoc
index b9351d6..95b2f09 100644
--- a/docs/user-manual/modules/ROOT/pages/camelcontext.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camelcontext.adoc
@@ -3,10 +3,8 @@
 
 The
 
https://www.javadoc.io/doc/org.apache.camel/camel-api/latest/org/apache/camel/CamelContext.html[CamelContext]
-represents a single Camel routing rulebase. You use the CamelContext in
-a similar way to the Spring
-http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/ApplicationContext.html[ApplicationContext].
+represents a single Camel routing rulebase.
 
 See xref:lifecycle.adoc[Lifecycle] to understand the overall lifecycle
-of the CamelContext.
+of the `CamelContext`.
 
diff --git a/docs/user-manual/modules/ROOT/pages/index.adoc 
b/docs/user-manual/modules/ROOT/pages/index.adoc
index a52e77e..df0a3ad 100644
--- a/docs/user-manual/modules/ROOT/pages/index.adoc
+++ b/docs/user-manual/modules/ROOT/pages/index.adoc
@@ -47,6 +47,7 @@ For a deeper and better understanding of Apache Camel, an 
xref:faq:what-is-camel
 * xref:components:others:cdi.adoc[Working with Camel and CDI]
 * xref:spring.adoc[Working with Camel and Spring]
 * xref:faq:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+* xref:camelcontext-autoconfigure.adoc[Auto Configuration]
 * xref:bean-integration.adoc[Bean Integration]
 * xref:configuring-route-startup-ordering-and-autostartup.adoc[Configuring 
route startup ordering and autostartup]
 * xref:graceful-shutdown.adoc[Graceful Shutdown]

Reply via email to