You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/08/19 12:10:34 UTC

[camel] branch main updated (0882a3b -> 056f45c)

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

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


    from 0882a3b  Regen
     new 3d15cdc  Polish and cleanup documentation
     new 758576c  Polish and cleanup documentation
     new 0152e42  Polish and cleanup documentation
     new be4cf1a  Polished
     new ada9392  Polish and cleanup documentation
     new 342bfa6  Polish and cleanup documentation
     new a0e31ad  Polish and cleanup documentation
     new 056f45c  Polish and cleanup documentation

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/camel/ExtendedCamelContext.java     |   8 +-
 .../impl/engine/CamelPostProcessorHelper.java      |   4 +-
 .../impl/engine/DefaultCamelBeanPostProcessor.java |   2 +-
 .../camel/impl/engine/SimpleCamelContext.java      |   3 +-
 .../src/main/docs/modules/eips/pages/log-eip.adoc  |   6 -
 .../main/docs/modules/eips/pages/rollback-eip.adoc |  25 --
 .../modules/eips/pages/transactional-client.adoc   |  27 --
 .../org/apache/camel/model/RouteDefinition.java    |   5 +-
 docs/user-manual/modules/ROOT/nav.adoc             |   1 -
 .../ROOT/pages/camel-configuration-utilities.adoc  | 318 +++------------------
 .../user-manual/modules/ROOT/pages/clustering.adoc |   3 -
 docs/user-manual/modules/ROOT/pages/dsl.adoc       |   2 -
 .../modules/ROOT/pages/health-check.adoc           |   5 +-
 docs/user-manual/modules/ROOT/pages/index.adoc     |   2 -
 .../ROOT/pages/pluggable-class-resolvers.adoc      |   4 +-
 docs/user-manual/modules/ROOT/pages/testing.adoc   |  16 --
 .../modules/ROOT/pages/threading-model.adoc        | 298 +++++++++----------
 .../pages/using-osgi-blueprint-with-camel.adoc     |  60 ----
 docs/user-manual/modules/faq/nav.adoc              |   1 -
 docs/user-manual/modules/faq/pages/index.adoc      |   1 -
 .../faq/pages/using-camel-core-testsjar.adoc       |   9 -
 .../modules/faq/pages/what-is-camel.adoc           |   3 +-
 22 files changed, 204 insertions(+), 599 deletions(-)
 delete mode 100644 docs/user-manual/modules/ROOT/pages/using-osgi-blueprint-with-camel.adoc
 delete mode 100644 docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc

[camel] 08/08: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit 056f45cba16b30d5c7495731dbd0ab4d7020cb41
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 14:07:50 2021 +0200

    Polish and cleanup documentation
---
 .../modules/ROOT/pages/threading-model.adoc        | 298 +++++++++++----------
 1 file changed, 151 insertions(+), 147 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/threading-model.adoc b/docs/user-manual/modules/ROOT/pages/threading-model.adoc
index 27727e7..2ecad7e 100644
--- a/docs/user-manual/modules/ROOT/pages/threading-model.adoc
+++ b/docs/user-manual/modules/ROOT/pages/threading-model.adoc
@@ -1,44 +1,41 @@
 [[ThreadingModel-ThreadingModel]]
 = Threading Model
 
-*Since Camel 2.3*
+The threading model in Camel is based on a pluggable reactive routing engine,
+and thread pools from the JDK concurrency API.
 
-The threading model in Camel is based on leveraging the JDK concurrency
-API which provides thread pools, named `ExecutorService`.
-
-Camel leverages thread pools in the following places:
+This page focuses on thread pools.
+Camel leverages thread pools in several places such as:
 
 * several xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[EIP] patterns supports using thread pools for
 concurrency
 * xref:components::seda-component.adoc[SEDA] component for asynchronous connectivity
-* xref:async.adoc[Threads DSL] in the Camel route
-* And some component provide thread pools by nature such as
-xref:components::jms-component.adoc[JMS], xref:components::jetty-component.adoc[Jetty]
+* xref:{eip-vc}:eips:threads-eip.adoc[Threads] EIP in Camel routes
+* Some components use thread pools out of the box, such as
+xref:components::jms-component.adoc[JMS] or xref:components::jetty-component.adoc[Jetty]
 
-[[ThreadingModel-Threadpoolprofiles]]
 == Thread pool profiles
 
-By default when a thread pool is to be created then its based on the
-default thread pool profile which is:
+By default, when a thread pool is to be created by Camel, then the pool configuration
+is based upon a profile, the _default thread pool profile_
 
-[source,xml]
---------------------------------------------------------------------------------------------------------
-    <threadPoolProfile id="defaultThreadPoolProfile" defaultProfile="true"
-                       poolSize="10" maxPoolSize="20" maxQueueSize="1000" allowCoreThreadTimeOut="true"
-                       rejectedPolicy="CallerRuns"/>
---------------------------------------------------------------------------------------------------------
+The default profile is pre-configured out of the box with the following settings:
 
-NOTE: From Camel 3.4 onwards the default thread pool profile has `allowCoreThreadTimeOut=true` while
-it was `allowCoreThreadTimeOut=false` in older Camel versions.
+[width="100%",cols="25%,25%,50%",options="header",]
+|===
+| Option | Default | Description
+| *poolSize* | `10` | Sets the default core pool size (threads to keep minimum in pool)
+| *keepAliveTime* | `60` | Sets the default keep alive time (in seconds) for inactive threads
+| *maxPoolSize* | `20` | Sets the default maximum pool size
+| *maxQueueSize* | `1000` | Sets the default maximum number of tasks in the work queue. Use -1 for an unbounded queue.
+| *allowCoreThreadTimeOut* | `true` | Sets default whether to allow core threads to timeout
+| *rejectedPolicy* | `CallerRuns` | Sets the default handler for tasks which cannot be executed by the thread pool. Has four options:
+`Abort, CallerRuns, Discard, DiscardOldest` which corresponds to the same four options provided out of the box in the JDK.
+|===
 
 What that means is that for example when you use
 xref:{eip-vc}:eips:multicast-eip.adoc[Multicast] with `parallelProcessing=true` enabled,
-then it would create a thread pool based on the profile above. The
-`rejectedPolicy` has four options:
-`Abort, CallerRuns, Discard, DiscardOldest` which corresponds to the
-same four options provided out of the box in the JDK.
-*Notice:* option allowCoreThreadTimeOut is a new option from *Camel
-2.15* onwards.
+then it would create a thread pool based on the profile above.
 
 You can define as many thread pool profiles as you like. But there must
 only *one* default profile. A custom thread pool profile will inherit
@@ -46,151 +43,139 @@ from the default profile. Which means that any option you do not
 explicit define will fallback and use the option from the default
 profile.
 
-You can use `-1` in maxQueueSize to indicate a unbounded queue.
+=== Configuring default thread pool profile
+
+In Spring XML you can configure thread pool profile with `threadPoolProfile` as shown:
+
+[source,xml]
+----
+<threadPoolProfile id="defaultThreadPoolProfile"
+    defaultProfile="true"
+    poolSize="5"
+    maxPoolSize="10"/>
+----
+
+And in Java DSL
 
-In Java DSL you can configure the default thread pool profile from the
-`ExecutorServiceStrategy`/`ExecutorServiceManager` which you access from
-`CamelContext`.
+[source,java]
+----
+ThreadPoolProfile profile = camelContext.getExecutorServiceManager().getDefaultThreadPoolProfile();
+profile.setPoolSize(5);
+profile.setMaxPoolSize(10);
+----
 
-[[ThreadingModel-Usingthreadpoolprofiles]]
-== Using thread pool profiles
+And with camel-main, Spring Boot or Quarkus you can configure this in the `application.properties|yaml` file:
+
+[source,properties]
+----
+## configure default thread pool profile
+camel.threadpool.pool-size = 5
+camel.threadpool.max-pool-size = 5
+----
+
+
+=== Using thread pool profiles
 
 Suppose you want to use a custom thread pool profile for a Multicast EIP
 pattern in a Camel route you can do it using the `executorServiceRef`
-attribute as shown:
+attribute as shown in Spring XML:
 
 [source,xml]
 ---------------------------------------------------------------------------
-<camelContext ...>
-    ...
-    <threadPoolProfile id="fooProfile" 
+<camelContext>
+
+    <threadPoolProfile id="fooProfile"
                        poolSize="20" maxPoolSize="50" maxQueueSize="-1"/>
-    ...
 
     <route>
-       ...
        <multicast strategyRef="myStrategy" executorServiceRef="fooProfile">
           ...
        </multicast>
-      ...
-    <route>
+    </route>
 </camelContext>
 ---------------------------------------------------------------------------
 
 What Camel will do at runtime is to lookup in the
-xref:registry.adoc[Registry] for a `ExecutorService` with the id =
-fooProfile. If none found it will fallback and see if there is a
-`ThreadPoolProfile` defined with that id. And in this example there is
-and so the profile is used for creating a new `ExecutorService` which is
+xref:registry.adoc[Registry] for a `ExecutorService` with the id `fooProfile`.
+If none found it will fallback and see if there is a
+`ThreadPoolProfile` defined with that id. In this example there is a profile,
+so the profile is used as base settings for creating a new `ExecutorService` which is
 handed back to the xref:{eip-vc}:eips:multicast-eip.adoc[Multicast] EIP to use in the
-route.
-
-[[ThreadingModel-Createcustomthreadpool]]
-== Create custom thread pool
-
-You can also use the <threadPool/> tag in Spring XML to create a
-specific thread pool (eg `ExecutorService`). Notice that any options you
-do not explicit define, will have Camel to use the default thread pool
-profile as fallback. For example if you omit setting the `maxQueueSize`
-then Camel will fallback and use the value from the default thread pool
-profiles, which by default is 1000.
-
-[[ThreadingModel-Management]]
-== Management
-
-All the thread pools that Camel creates are managed and thus you can see
-them in JConsole under the `threadpools` category.
-
-[[ThreadingModel-ExecutorServiceStrategy]]
-== ExecutorServiceStrategy
-
-*Since Camel 2.3 to 2.8.x* +
- Camel provides a pluggable strategy to hook in your own thread pool
-provider, for example from a WorkManager in a J2EE server etc. +
- See the `org.apache.camel.spi.ExecutorServiceStrategy` interface which
-you should implement and hook into the WorkManager.
-
-See
-xref:advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
-configuration of CamelContext using Spring] for how to configure it.
-
-You can configure it on the `CamelContext` from Java DSL using the
-getter/setter.
+Camel route.
 
-[[ThreadingModel-ExecutorServiceManager]]
-== ExecutorServiceManager
+In Java DSL you can use `ThreadPoolProfileBuilder` to create a profile and then register the profile:
 
-*Since Camel 2.9*
+[source,java]
+----
+ThreadPoolProfileBuilder builder = new ThreadPoolProfileBuilder("fooProfile");
+builder.poolSize(20).maxPoolSize(50).maxQueueSize(-1);
 
-In camel 2.9.0 the `ExecutorServiceManager` replaces the
-`ExecutorServiceStrategy`. It is renamed to manager as is not only
-provides a strategy for thread pool creation but also keeps track of
-thread pools and thread pool profiles.
+camelContext.getExecutorServiceManager().registerThreadPoolProfile(builder.build());
+----
 
-To hook in custom thread pool providers (e.g. for J2EE servers) a
-`ThreadPoolFactory` interface can be implemented. The implementation can
-be set in the `ExecutorServiceManager`. The Factory interface is much
-simpler then the former `ExecutorServiceStrategy` and makes the job of
-integrators much easier.
+== Creating custom thread pools
 
-See
-xref:advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
-configuration of CamelContext using Spring] for how to configure it.
+You can also use the `<threadPool>` tag in Spring XML to create a
+specific thread pool (`ExecutorService`). Notice that any options you
+do not explicit define, will have Camel to use the default thread pool
+profile as fallback. For example if you omit setting the `maxQueueSize`
+then Camel will fallback and use the value from the default thread pool
+profiles, which by default is `1000`.
 
-[[ThreadingModel-Customizingthreadnames]]
 == Customizing thread names
 
-On the `ExecutorServiceStrategy`/`ExecutorServiceManager` you can
+On the `ExecutorServiceManager` you can
 configure the thread name pattern using the `setThreadNamePattern`
 method, which defines the thread names used when a thread pool creates a
 thread.
 
-The default pattern is for:
-
-* *Camel 2.9.x or older:*
-`Camel ($\{camelId}) thread #$\{counter} - $\{name}`
-* *Camel 2.10 onwards:* `Camel (#camelId#) thread ##counter# - #name#`
+The default pattern is:
 
-Notice we renamed the tokens from Camel 2.10 onwards to not clash with
-tokens by the xref:using-propertyplaceholder.adoc[Property Placeholder].
+[source,text]
+----
+Camel (#camelId#) thread ##counter# - #name#
+----
 
 In the pattern you can use the following placeholders
 
-* $\{camelId} *Camel 2.6:* is the xref:camelcontext.adoc[CamelContext]
-name
-* $\{counter} is a unique incrementing counter.
-* $\{name} is the regular thread name.
-* $\{longName} is the long thread name which can includes endpoint
-parameters etc.
+* `\#camelId#` - The xref:camelcontext.adoc[CamelContext] name
+* `\#counter#` An unique incrementing counter
+* `\#name#` - The thread name
+* `\#longName#` - The long thread name which can includes endpoint parameters etc.
 
-Notice the pattern name has changed from Camel 2.10 onwards, use #name#
-instead.
-
-In Camel 2.11 onwards its easier to set the thread name pattern on the
-CamelContext using the threadNamePattern attribute in the XML files as
-shown below:
+In Spring XML the pattern can be set with `threadNamePattern` attribute as shown:
 
 [source,xml]
---------------------------------------------------------------------------------------------------------------
-  <camelContext xmlns="http://camel.apache.org/schema/spring" threadNamePattern="Riding the thread #counter#">
-    <route>
-      <from uri="seda:start"/>
-      <to uri="log:result"/>
-      <to uri="mock:result"/>
-    </route>
-  </camelContext>
---------------------------------------------------------------------------------------------------------------
+----
+<camelContext threadNamePattern="Riding the thread #counter#">
+  <route>
+    <from uri="seda:start"/>
+    <to uri="log:result"/>
+    <to uri="mock:result"/>
+  </route>
+</camelContext>
+----
 
-[[ThreadingModel-Componentdevelopers]]
-== Component developers
+In Java DSL you can set the pattern as follows:
 
-If you develop your own Camel component and are in need of a thread
-pool, then its advised to use the
-`ExecutorServiceStrategy`/`ExecutorServiceManager` to create the thread
-pool you need.
+[source,java]
+----
+CamelContext camel = ...
+camel.getExecutorServiceManager().setThreadNamePattern("Riding the thread #counter#")
+----
+
+And with camel-main, Spring Boot or Quarkus you can configure this in the `application.properties|yaml` file:
 
-[[ThreadingModel-Shutdown]]
-== Shutdown
+[source,properties]
+----
+## camel-main or quarkus
+camel.main.thread-name-pattern = Riding the thread #counter#
+
+## spring boot
+camel.springboot.thread-name-pattern = Riding the thread #counter#
+----
+
+== Shutting down thread pools
 
 All thread pools created by Camel will be properly shutdown when
 `CamelContext` shutdowns which ensures no leaks in the pools in case you
@@ -200,13 +185,13 @@ The `ExecutorServiceManager` has APIs for shutting down thread pools
 graceful and aggressively. Its encourage to use this API for creating
 and shutting down thread pools.
 
-From *Camel 2.11* onwards Camel the graceful
-`shutdownGraceful(executorService)` method from `ExecutorServiceManager`
+The graceful `shutdownGraceful(executorService)` method from `ExecutorServiceManager`
 will shutdown graceful at first, until a timeout value is hit. After
 that it shutdown aggressively, again using the timeout value to wait for
 the operation to complete. This means you can wait at most 2 x timeout
-for shutting down the thread pool. +
- The timeout value is by default `10000` millis. You can configure a
+for shutting down the thread pool.
+
+The timeout value is by default `10000` millis. You can configure a
 custom value on the `ExecutorServiceManager` if needed. During shutdown
 Camel will log every 2nd second at INFO level progress of shutting down
 the thread pool. For example in case a shutdown takes a while, then
@@ -218,23 +203,42 @@ thread pool is as follows:
 [width="100%",cols="25%,75%",options="header"]
 |===
 |Method |Description
+|shutdown |Marks the thread pool as shutdown
+(like calling the `ExecutorService.shutdown()` method).
+|shutdownNow |Forces the thread pool to shut down now
+(like calling the `ExecutorService.shutdownNow()` method).
+|shutdownGraceful |Marks the thread pool as shutdown, and graceful shutdown
+the pool, by waiting for tasks to complete. A default timeout value of
+10 sec is used, before shutdown becomes aggressive using `shutdownNow`,
+forcing threads to shut down quicker.
+|shutdownGraceful(timeout) |As shutdownGraceful but with custom timeout value
+|awaitTermination |To wait graceful for the termination of a thread pool (eg
+to wait for its tasks to complete). Will wait until all tasks are completed or timed out.
+|===
 
-|shutdown |Marks the thread pool as shutdown, eg just as calling
-`ExecutorService.shutdown()` method
+== JMX Management
 
-|shutdownNow |Forces the thread pool to shutdown now, eg just as calling
-`ExecutorService.shutdownNow()` method
+All the thread pools that Camel creates are managed and thus you can see
+them in JXM under the `threadpools` tree.
 
-|shutdownGraceful |*Camel 2.11:* Marks the thread pool as shutdown, and graceful shutdown
-the pool, by waiting for tasks to complete. A default timeout value of
-10 sec is used, before 
- shutdown becomes aggressive using `shutdownNow`, to force threads to
-shutdown.
+NOTE: This requires to enabled JMX by including `camel-management` JAR in the classpath.
 
-|shutdownGraceful(timeout) |*Camel 2.11:* As above but with custom timeout value
+== Component developers
 
-|awaitTermination |*Camel 2.11:* To wait graceful for the termination of a thread pool (eg
-to wait for its tasks to complete). Will wait until all tasks is
-completed or a timeout value is hit.
-|===
+If you develop your own Camel component and are in need of a thread
+pool, then its advised to use the
+`ExecutorServiceStrategy`/`ExecutorServiceManager` to create the thread
+pool you need.
+
+=== ExecutorServiceStrategy
+
+Camel provides a pluggable strategy to hook in your own thread pool
+provider, for example from a WorkManager in a J2EE server etc. +
+See the `org.apache.camel.spi.ExecutorServiceStrategy` interface which
+you should implement and hook into the WorkManager.
+
+=== ExecutorServiceManager
 
+To hook in custom thread pool providers (e.g. for J2EE servers) a
+`ThreadPoolFactory` interface can be implemented. The implementation can
+be set in the `ExecutorServiceManager`.

[camel] 01/08: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit 3d15cdc4f8639baba78843e6fc0b7290854bc02f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 09:42:30 2021 +0200

    Polish and cleanup documentation
---
 docs/user-manual/modules/ROOT/nav.adoc             |  1 -
 .../user-manual/modules/ROOT/pages/clustering.adoc |  3 --
 docs/user-manual/modules/ROOT/pages/dsl.adoc       |  2 -
 .../modules/ROOT/pages/health-check.adoc           |  5 +-
 docs/user-manual/modules/ROOT/pages/index.adoc     |  2 -
 docs/user-manual/modules/ROOT/pages/testing.adoc   | 16 ------
 .../pages/using-osgi-blueprint-with-camel.adoc     | 60 ----------------------
 .../modules/faq/pages/what-is-camel.adoc           |  3 +-
 8 files changed, 4 insertions(+), 88 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/nav.adoc b/docs/user-manual/modules/ROOT/nav.adoc
index af8468f..ff93f60 100644
--- a/docs/user-manual/modules/ROOT/nav.adoc
+++ b/docs/user-manual/modules/ROOT/nav.adoc
@@ -16,7 +16,6 @@
 ** xref:examples.adoc[Examples]
 ** xref:graceful-shutdown.adoc[Graceful Shutdown]
 ** xref:error-handler.adoc[Error handler]
-** xref:using-osgi-blueprint-with-camel.adoc[Using OSGi blueprint with Camel]
 ** xref:using-propertyplaceholder.adoc[How to use Camel property placeholders]
 ** xref:testing.adoc[Testing]
 ** xref:rest-dsl.adoc[Working with REST and Rest DSL]
diff --git a/docs/user-manual/modules/ROOT/pages/clustering.adoc b/docs/user-manual/modules/ROOT/pages/clustering.adoc
index dfebc96..5f60e0f 100644
--- a/docs/user-manual/modules/ROOT/pages/clustering.adoc
+++ b/docs/user-manual/modules/ROOT/pages/clustering.adoc
@@ -46,8 +46,6 @@ Out of the box camel provides the following implementations:
 |zookeeper  |camel-zookeeper  | org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService
 |====
 
-On Spring/Blueprint all the _Cluster Service_ instances are automatically added to the camel context.
-
 Configuration examples:
 
 - *Spring Boot*
@@ -73,7 +71,6 @@ camel.cluster.file.root = ${java.io.tmpdir}
          http://camel.apache.org/schema/spring
          http://camel.apache.org/schema/spring/camel-spring.xsd">
 
-
   <bean id="zx" class="org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService">
     <property name="id" value="node-1"/>
     <property name="basePath" value="/camel/cluster"/>
diff --git a/docs/user-manual/modules/ROOT/pages/dsl.adoc b/docs/user-manual/modules/ROOT/pages/dsl.adoc
index 359be0d..315c9dd 100644
--- a/docs/user-manual/modules/ROOT/pages/dsl.adoc
+++ b/docs/user-manual/modules/ROOT/pages/dsl.adoc
@@ -9,8 +9,6 @@ languages (DSL) as listed below.
 * xref:java-dsl.adoc[Java DSL] - A Java based DSL using the fluent
 builder style.
 * xref:components::spring-summary.adoc[Spring XML] - A XML based DSL in Spring XML files
-* xref:using-osgi-blueprint-with-camel.adoc[Blueprint XML] - A XML based
-DSL in OSGi Blueprint XML files
 * xref:rest-dsl.adoc[Rest DSL] - A DSL to define REST services using a
 REST style in either Java or XML.
 * xref:bean-integration.adoc[Annotation DSL] - Use annotations in Java
diff --git a/docs/user-manual/modules/ROOT/pages/health-check.adoc b/docs/user-manual/modules/ROOT/pages/health-check.adoc
index 4ee938a..11450fb 100644
--- a/docs/user-manual/modules/ROOT/pages/health-check.adoc
+++ b/docs/user-manual/modules/ROOT/pages/health-check.adoc
@@ -150,8 +150,9 @@ public final class MyHealthCheck extends AbstractHealthCheck {
 }
 ----
 
-You can now make _MyHealthCheck_ available to Camel by adding an instance to the application context (Spring, Blueprint) or directly to the registry.
-The example `camel-example-main-health` has a custom health check.
+You can now make _MyHealthCheck_ available to Camel by adding an instance to (for example Spring application context) or directly to the Camel xref:registry.adoc[Registry].
+
+TIP: The example `camel-example-main-health` has a custom health check.
 
 == Examples
 
diff --git a/docs/user-manual/modules/ROOT/pages/index.adoc b/docs/user-manual/modules/ROOT/pages/index.adoc
index 31d529e..7582c82 100644
--- a/docs/user-manual/modules/ROOT/pages/index.adoc
+++ b/docs/user-manual/modules/ROOT/pages/index.adoc
@@ -59,7 +59,6 @@ For a deeper and better understanding of Apache Camel, an xref:faq:what-is-camel
 * xref:camel-report-maven-plugin.adoc[Camel Maven Report Plugin] to validate your source code and report the code coverage of your camel routes
 * xref:camel-maven-archetypes.adoc[Camel Maven Archetypes]
 * xref:components::jmx-component.adoc[Camel JMX]
-* xref:using-osgi-blueprint-with-camel.adoc[Using OSGi blueprint with Camel]
 * xref:rest-dsl.adoc[Working with REST and Rest DSL]
 * xref:writing-components.adoc[Writing Custom Camel Components]
 
@@ -114,7 +113,6 @@ For a deeper and better understanding of Apache Camel, an xref:faq:what-is-camel
 * xref:java-dsl.adoc[Java DSL]
 * xref:bean-integration.adoc[Java Annotation DSL]
 * xref:components::spring-summary.adoc[Spring XML DSL]
-* xref:using-osgi-blueprint-with-camel.adoc[OSGi Blueprint XML DSL]
 * xref:rest-dsl.adoc[Rest DSL]
 
 == Developers
diff --git a/docs/user-manual/modules/ROOT/pages/testing.adoc b/docs/user-manual/modules/ROOT/pages/testing.adoc
index 688e44f..dde60e4 100644
--- a/docs/user-manual/modules/ROOT/pages/testing.adoc
+++ b/docs/user-manual/modules/ROOT/pages/testing.adoc
@@ -52,10 +52,6 @@ parity with the plain JUnit 3.x/4.x based testing approach. Notice
 older Camel release use `camel-test` which has built-in
 Spring Testing.
 
-|Blueprint Testing |camel-test-blueprint
-|*Camel 2.10:* Provides the ability to do unit testing on blueprint
-configurations
-
 |=======================================================================
 
 In all approaches the test classes look pretty much the same in that
@@ -177,18 +173,6 @@ to support the features of `CamelTestSupport` through annotations on
 the test class.  See Spring Testing for a list
 of annotations you can use in your tests.
 
-[[Testing-BlueprintTest]]
-=== Blueprint Test
-
-Here is the Blueprint Testing
-https://github.com/apache/camel-karaf/blob/main/components/camel-test-blueprint/src/test/java/org/apache/camel/test/blueprint/DebugBlueprintTest.java[example
-using XML Config]:
-
-Also notice the use of `getBlueprintDescriptors` to indicate that by
-default we should look for the
-https://github.com/apache/camel-karaf/blob/main/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml[`camelContext.xml`
-in the package] to configure the test case which looks like this:
-
 [[Testing-Testingendpoints]]
 == Testing endpoints
 
diff --git a/docs/user-manual/modules/ROOT/pages/using-osgi-blueprint-with-camel.adoc b/docs/user-manual/modules/ROOT/pages/using-osgi-blueprint-with-camel.adoc
deleted file mode 100644
index d5a05de..0000000
--- a/docs/user-manual/modules/ROOT/pages/using-osgi-blueprint-with-camel.adoc
+++ /dev/null
@@ -1,60 +0,0 @@
-[[UsingOSGiblueprintwithCamel-UsingOSGiblueprintwithCamel]]
-= Using OSGi blueprint with Camel
-
-*Since Camel 2.4*
-
-A custom XML namespace for Blueprint has been created to let you
-leverage the nice XML dialect. Given Blueprint custom namespaces are not
-standardized yet, this namespace can only be used on the
-http://incubator.apache.org/aries/[Apache Aries] Blueprint
-implementation, which is the one used by http://karaf.apache.org[Apache
-Karaf].
-
-[[UsingOSGiblueprintwithCamel-Overview]]
-== Overview
-
-The XML schema is mostly the same as the one for Spring, so all the xml
-snippets throughout the documentation referring to Spring XML also apply
-to Blueprint routes.
-
-Here is a very simple route definition using blueprint:
-
-[source,xml]
--------------------------------------------------------------------
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
-        <route>
-            <from uri="timer:test" />
-            <to uri="log:test" />
-        </route>
-    </camelContext>
-
-</blueprint>
--------------------------------------------------------------------
-
-There are a few limitations at this point about the supported xml
-elements (compared to the Spring xml syntax):
-
-* beanPostProcessor are specific to Spring and aren't allowed
-
-However, using blueprint when you deploy your applications in an OSGi
-environment has several advantages:
-
-* when upgrading to a new camel version, you don't have to change the
-namespace, as the correct version will be selected based on the camel
-packages that are imported by your bundle
-* no startup ordering issue with respect to the custom namespaces and
-your bundles
-* you can use Blueprint property placeholders, see more at
-xref:using-propertyplaceholder.adoc[Using PropertyPlaceholder]
-
-[[UsingOSGiblueprintwithCamel-Usingcamel-blueprint]]
-== Using camel-blueprint
-
-To leverage camel-blueprint in OSGi, you only need the Aries Blueprint
-bundle and the camel-blueprint bundle, in addition to camel-core and its
-dependencies.
-
-If you use Karaf, you can use the feature named `camel-blueprint` which
-will install all the required bundles.
diff --git a/docs/user-manual/modules/faq/pages/what-is-camel.adoc b/docs/user-manual/modules/faq/pages/what-is-camel.adoc
index b57c089..34d1633 100644
--- a/docs/user-manual/modules/faq/pages/what-is-camel.adoc
+++ b/docs/user-manual/modules/faq/pages/what-is-camel.adoc
@@ -25,8 +25,7 @@ out-of-box.
 
 Apache Camel provides support for xref:ROOT:bean-binding.adoc[Bean Binding]
 and seamless integration with popular frameworks such as
-xref:components:others:cdi.adoc[CDI], xref:ROOT:spring.adoc[Spring] and
-xref:ROOT:using-osgi-blueprint-with-camel.adoc[Blueprint].
+xref:components:others:cdi.adoc[CDI], xref:ROOT:spring.adoc[Spring].
 Camel also has extensive support for
 xref:ROOT:testing.adoc[unit testing] your routes.
 

[camel] 02/08: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit 758576cbfe3dace7c735e5c45f8b039bd7b65d90
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 09:43:35 2021 +0200

    Polish and cleanup documentation
---
 .../main/docs/modules/eips/pages/rollback-eip.adoc | 25 --------------------
 .../modules/eips/pages/transactional-client.adoc   | 27 ----------------------
 2 files changed, 52 deletions(-)

diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc
index 4eb660f..4868261 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc
@@ -116,31 +116,6 @@ from("activemq:queue:foo").policy(requirenew).to("activemq:queue:bar");
 from("activemq:queue:foo").policy(notsupported).to("activemq:queue:bar");
 ----
 
-=== OSGi Blueprint
-
-If you are using xref:latest@manual:ROOT:using-osgi-blueprint-with-camel.adoc[OSGi
-Blueprint] then you most likely have to explicit declare a policy and
-refer to the policy from the transacted in the route.
-
-[source,xml]
---------------------------------------------------------
-<bean id="required" class="org.apache.camel.spring.spi.SpringTransactionPolicy">
-  <property name="transactionManager" ref="jmsTransactionManager"/>
-  <property name="propagationBehaviorName" value="PROPAGATION_REQUIRED"/>
-</bean>
---------------------------------------------------------
-
-And then refer to "required" from the route:
-
-[source,xml]
---------------------------------------------------------
-<route>
-  <from uri="activemq:queue:foo"/> 
-  <transacted ref="required"/>
-  <to uri="activemq:queue:bar"/>
-</route>
---------------------------------------------------------
-
 == Database Sample
 
 In this sample we want to ensure that two endpoints is under transaction
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc
index f36bd43..b7a1353 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/transactional-client.adoc
@@ -106,33 +106,6 @@ from("activemq:queue:foo").policy(notsupported)
     .to("activemq:queue:bar");
 ----
 
-[[TransactionalClient-OSGiBlueprint]]
-== OSGi Blueprint
-
-If you are using
-xref:latest@manual:ROOT:using-osgi-blueprint-with-camel.adoc[OSGi Blueprint]
-then you most likely have to explicit declare a policy and
-refer to the policy from the transacted in the route.
-
-[source,xml]
-----
-<bean id="required" class="org.apache.camel.spring.spi.SpringTransactionPolicy">
-    <property name="transactionManager" ref="jmsTransactionManager"/>
-    <property name="propagationBehaviorName" value="PROPAGATION_REQUIRED"/>
-</bean>
-----
-
-And then refer to "required" from the route:
-
-[source,xml]
-----
-<route>
-    <from uri="activemq:queue:foo"/>
-    <transacted ref="required"/>
-    <to uri="activemq:queue:bar"/>
-</route>
-----
-
 [[TransactionalClient-DatabaseSample]]
 == Database Sample
 

[camel] 03/08: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit 0152e42ed39b770ade8af72caabe53e7a003b9d2
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 09:44:09 2021 +0200

    Polish and cleanup documentation
---
 .../camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
index 7fde239..93ad28d 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
@@ -161,12 +161,6 @@ You can specify a marker name in the DSL
 </route>
 ----
 
-== Using log DSL in OSGi
-
-When using log DSL inside OSGi (e.g., in Karaf), the underlying logging mechanisms are provided by PAX logging. It searches for a bundle which invokes org.slf4j.LoggerFactory.getLogger() method and associates the bundle with the logger instance. Passing only logger name to log DSL results in associating camel-core bundle with the logger instance created.
-
-In some scenarios it is required that the bundle associated with logger should be the bundle which contains route definition. This is possible using provided logger instance both for Java DSL and Spring DSL (see the examples above).
-
 == Masking sensitive information like password
 
 You can enable security masking for logging by setting `logMask` flag to `true`.

[camel] 04/08: Polished

Posted by da...@apache.org.
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

commit be4cf1a1dcee2aa0b8c914b41520564046f5a12c
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 09:51:11 2021 +0200

    Polished
---
 .../src/main/java/org/apache/camel/ExtendedCamelContext.java      | 8 ++++----
 .../org/apache/camel/impl/engine/CamelPostProcessorHelper.java    | 4 +---
 .../apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java   | 2 +-
 .../java/org/apache/camel/impl/engine/SimpleCamelContext.java     | 3 +--
 .../src/main/java/org/apache/camel/model/RouteDefinition.java     | 5 ++---
 5 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
index b105f47..070e114 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
@@ -104,13 +104,13 @@ public interface ExtendedCamelContext extends CamelContext {
     void setupRoutes(boolean done);
 
     /**
-     * Indicates whether current thread is setting up route(s) as part of starting Camel from spring/blueprint.
+     * Indicates whether current thread is setting up route(s) as part of starting Camel.
      * <p/>
      * This can be useful to know by {@link LifecycleStrategy} or the likes, in case they need to react differently.
      * <p/>
-     * As the startup procedure of {@link CamelContext} is slightly different when using plain Java versus Spring or
-     * Blueprint, then we need to know when Spring/Blueprint is setting up the routes, which can happen after the
-     * {@link CamelContext} itself is in started state, due the asynchronous event nature of especially Blueprint.
+     * As the startup procedure of {@link CamelContext} is slightly different when using plain Java versus camel-spring-xml or
+     * camel-blueprint, then we need to know when spring/blueprint are setting up the routes, which can happen after the
+     * {@link CamelContext} itself is in started state, due the asynchronous event nature of especially blueprint.
      *
      * @return <tt>true</tt> if current thread is setting up route(s), or <tt>false</tt> if not.
      */
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
index 546bb1f..38374a8 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelPostProcessorHelper.java
@@ -52,9 +52,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * A helper class for Camel based injector or post processing hooks which can be reused by both the
- * <a href="http://camel.apache.org/spring.html">Spring</a> and
- * <a href="http://camel.apache.org/blueprint.html">Blueprint</a> support.
+ * A helper class for Camel based injector or bean post processing hooks.
  */
 public class CamelPostProcessorHelper implements CamelContextAware {
 
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java
index 4fcc094..d71257d 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelBeanPostProcessor.java
@@ -60,7 +60,7 @@ import static org.apache.camel.util.ObjectHelper.isEmpty;
  * {@link org.apache.camel.RoutingSlip} for creating <a href="http://camel.apache.org/routingslip-annotation.html">a
  * Routing Slip router via annotations</a>.
  * <p/>
- * Components such as <tt>camel-spring</tt>, and <tt>camel-blueprint</tt> can leverage this post processor to hook in
+ * Components such as camel-spring or camel-blueprint can leverage this post processor to hook in
  * Camel bean post processing into their bean processing framework.
  */
 public class DefaultCamelBeanPostProcessor implements CamelBeanPostProcessor {
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
index a5aa0f5..711748f 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
@@ -107,8 +107,7 @@ public class SimpleCamelContext extends AbstractCamelContext {
     /**
      * Creates the {@link CamelContext} and allows to control whether the context should automatic initialize or not.
      * <p/>
-     * This is used by some Camel components such as camel-cdi and camel-blueprint, however this constructor is not
-     * intended for regular Camel end users.
+     * Note: Not for end users - this method is used internally by camel-blueprint/camel-cdi
      *
      * @param init whether to automatic initialize.
      */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
index d546772..59b09ee 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
@@ -123,9 +123,8 @@ public class RouteDefinition extends OutputDefinition<RouteDefinition> implement
     /**
      * Marks the route definition as prepared.
      * <p/>
-     * This is needed if routes have been created by components such as <tt>camel-spring</tt> or
-     * <tt>camel-blueprint</tt>. Usually they share logic in the <tt>camel-core-xml</tt> module which prepares the
-     * routes.
+     * This is needed if routes have been created by components such as camel-spring-xml or camel-blueprint.
+     * Usually they share logic in the camel-core-xml module which prepares the routes.
      */
     public void markPrepared() {
         prepared.set(true);

[camel] 06/08: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit 342bfa6e98e83ef46d71a0af02f4775c961f57de
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 13:06:42 2021 +0200

    Polish and cleanup documentation
---
 docs/user-manual/modules/faq/nav.adoc                            | 1 -
 docs/user-manual/modules/faq/pages/index.adoc                    | 1 -
 .../user-manual/modules/faq/pages/using-camel-core-testsjar.adoc | 9 ---------
 3 files changed, 11 deletions(-)

diff --git a/docs/user-manual/modules/faq/nav.adoc b/docs/user-manual/modules/faq/nav.adoc
index 8c17406..b344bc2 100644
--- a/docs/user-manual/modules/faq/nav.adoc
+++ b/docs/user-manual/modules/faq/nav.adoc
@@ -49,7 +49,6 @@
 ** xref:how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
 ** xref:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
 ** xref:is-there-an-ide.adoc[Is there an IDE?]
-** xref:using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
 ** xref:using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
 ** xref:why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
 ** xref:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
diff --git a/docs/user-manual/modules/faq/pages/index.adoc b/docs/user-manual/modules/faq/pages/index.adoc
index 1aa0183..c77c6f0 100644
--- a/docs/user-manual/modules/faq/pages/index.adoc
+++ b/docs/user-manual/modules/faq/pages/index.adoc
@@ -72,7 +72,6 @@ Questions on using Apache Camel
 * xref:how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
 * xref:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
 * xref:is-there-an-ide.adoc[Is there an IDE?]
-* xref:using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
 * xref:using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
 * xref:why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
 * xref:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
diff --git a/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc b/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
deleted file mode 100644
index 9e78921..0000000
--- a/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-[[Usingcamel-core-tests.jar-Usingcamel-core-tests.jar]]
-= Using camel-core-tests.jar
-
-The `camel-core-tests.jar` is *not* for usage for Camel end users. This
-JAR is only used internally by Camel itself when it tests the same unit
-tests using different DSL such as Spring XML, Blueprint XML, etc.
-
-End users who need a test kit should use `camel-test`
-JARs instead. See more here xref:ROOT:testing.adoc[Testing].

[camel] 05/08: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit ada93924a8a5409e1309dd34dd9218ee9d09eec6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 13:05:45 2021 +0200

    Polish and cleanup documentation
---
 .../ROOT/pages/camel-configuration-utilities.adoc  | 318 +++------------------
 1 file changed, 38 insertions(+), 280 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc b/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc
index b80147c..e4c7512 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc
@@ -2,64 +2,43 @@
 = JSSE Utility
 
 The JSSE Utility allows you to easily configure aspects of the
-https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html[Java
+https://docs.oracle.com/en/java/javase/11/security/java-secure-socket-extension-jsse-reference-guide.html[Java
 Secure Socket Extension] (JSSE) API in order to greatly simplify the use
 of custom transport layer security (TLS) settings on Camel components.
 
-[[CamelConfigurationUtilities-SupportedComponents]]
 == Supported Components
 
-A number of Camel components support this such as::
+A number of Camel components support this (such as but not limited to):
 
-* xref:components::http-component.adoc[HTTP]
-* xref:components::jetty-component.adoc[Jetty]
 * xref:components::ahc-component.adoc[AHC]
-* xref:components::netty-component.adoc[Netty]
 * xref:components::cometd-component.adoc[Cometd]
+* xref:components::http-component.adoc[HTTP]
 * xref:components::irc-component.adoc[IRC]
+* xref:components::jetty-component.adoc[Jetty]
+* xref:components::netty-component.adoc[Netty]
 * xref:components::mail-component.adoc[Mail]
 
-[[CamelConfigurationUtilities-Configuration]]
 == Configuration
 
-The key component in configuring TLS through the JSSE API is the
-SSLContext.
+The key component in configuring TLS through the JSSE API is the `SSLContext`.
+
+The `SSLContext` provides socket factories for both client side and server side sockets
+as well as another component called an `SSLEngine` that is used by non-blocking IO to support TLS.
 
-The http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SSLContext[SSLContext]
-provides socket factories for both
-http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SSLSocketFactory[client-side]
-and
-http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SSLSocketFactory[server-side]
-sockets as well as another component called an
-http://download.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SSLENG[SSLEngine]
-that is used by non-blocking IO to support TLS.
-
-The JSSE configuration
-utility provides an easy-to-use builder for configuring these JSSE
-components, among others, in a manner that allows you to provide all
+The JSSE configuration utility provides an easy-to-use builder for configuring
+these JSSE components, among others, in a manner that allows you to provide all
 configuration options up front during the initialization of your
 application such that you don't have to customize library code or dig
 though the inner workings of a third-party library in order to inject
 hooks for the configuration of each component in the JSSE API.  The
 central builder in the JSSE configuration utility is the
-SSLContextParameters.  This class serves as the entry point for most
+SSLContextParameters. This class serves as the entry point for most
 configuration in the JSSE utility.
 
-[NOTE]
-=====================================
-All non-native classes are in the org.apache.camel.support.jsse package. 
-All non-W3C schema defined types are in the
-http://camel.apache.org/schema/spring[http://camel.apache.org/schema/spring]
-or
-http://camel.apache.org/schema/blueprint[http://camel.apache.org/schema/blueprint]
-namespaces for Spring and Blueprint based configuration, respectively.
-=====================================
-
-
-[[CamelConfigurationUtilities-SSLContextParameters]]
 === SSLContextParameters
 
-SSLContextParameters (sslContextParameters) contain the following elements:
+`SSLContextParameters` (`<sslContextParameters` XML tag)
+contain the following elements:
 
 * provider (attribute)
 * secureSocketProtocol (attribute)
@@ -80,9 +59,8 @@ The optional provider identifier for the JSSE implementation to use when
 constructing the SSLContext.  If omitted, the standard provider look-up
 mechanism is used to resolve the provider.
 secureSocketProtocol::
-The optional secure socket protocol. See http://download.oracle.com/javase/6/docs/technotes/guides//security/jsse/JSSERefGuide.html#AppA[Appendix
-A] in the Java Secure Socket Extension Reference Guide for information
-about standard protocol names.  If omitted, TLS is used by default. 
+The optional secure socket protocol. See https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html[Java Security Standard Algorithm Names]
+for information about standard protocol names.  If omitted, TLS is used by default.
 Note that this property is related to but distinctly different from the
 secureSocketProtocols and secureSocketProtocolsFilter properties.
 certAlias::
@@ -108,7 +86,7 @@ available cipher suites.  The exclude patterns have precedence over the
 include patterns.  If no cipherSuites and no cipherSuitesFilter are
 present, the default patterns applied are: +
 Includes .\*; +
-Excludes .*_NULL_.*, .\*_anon_.*, .\*DES.*, .\*EXPORT.* *Camel 2.15.4*., .\*MD5, .*RC4.* *Camel 3.0.1*
+Excludes .*_NULL_.*, .\*_anon_.*, .\*DES.*, .\*EXPORT.*, .\*MD5, .*RC4.*
 secureSocketProtocols::
 This optional property represents a collection of explicitly named
 secure socket protocols, such as SSLv3/TLS/etc., to enable on both the
@@ -122,23 +100,23 @@ secureSocketProtocolsFilter::
 This optional property represents a collection of include and exclude
 patterns for secure socket protocols to enable on both the client and
 server side as well as in the SSLEngine.  The patterns are applied over
-only the available protocols.  The exclude patterns have precedence over
-the include patterns.  If no secureSocketProtocols and no
+only the available protocols. The exclude patterns have precedence over
+the include patterns. If no secureSocketProtocols and no
 secureSocketProtocolsFilter are present, the default patterns applied
 are: Includes .*
 
 keyManagers::
-see <<CamelConfigurationUtilities-KeyManagersParameters>>.This optional property configures the source of key material for
+This optional property configures the source of key material for
 providing identity of client and server side connections as well as in
 the SSLEngine.  If omitted, no source of key material is provided and
 the SSLContext is suitable only for client-side usage when mutual
 authentication is not in use.  You typically configure this property
 with a key store containing a client or server private key.
 trustManagers::
-see <<CamelConfigurationUtilities-TrustManagersParameters>>. This optional property configures the source of material for verifying
+This optional property configures the source of material for verifying
 trust of key material used in the handshake process.  If omitted, the
 default trust manager is automatically used.  See the
-http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CustomizingStores[JSSE
+https://docs.oracle.com/en/java/javase/11/security/java-secure-socket-extension-jsse-reference-guide.html#GUID-7D9F43B8-AABF-4C5B-93E6-3AFB18B66150[JSSE
 documentation] for more information on how the default trust manager is
 configured.  You typically configure this property with a key store
 containing trusted CA certificates.
@@ -147,16 +125,15 @@ This optional property configures the secure random number generator
 used by the client and server side as well as in the SSLEngine.  If
 omitted, the default secure random number generator is used.
 clientParameters::
-see <<CamelConfigurationUtilities-SSLContextClientParameters>>. This optional property configures additional settings that apply only to
+This optional property configures additional settings that apply only to
 the client side aspects of the SSLContext.  If present, these settings
 override the settings specified at the SSLContextParameters level.
 serverParameters::
-see <<CamelConfigurationUtilities-SSLContextServerParameters>>. This optional property configures additional settings that apply only to
+This optional property configures additional settings that apply only to
 the server side aspects of the SSLContext.  If present, these settings
 override the settings specified at the SSLContextParameters level.
 
 
-[[CamelConfigurationUtilities-KeyManagersParameters]]
 === KeyManagersParameters
 
 KeyManagersParameters contain the following elements:
@@ -179,16 +156,15 @@ omitted, the default look-up behavior is used.
 algorithm::
 The optional algorithm name for the KeyManagerFactory used to create the
 KeyManager represented by this object's configuration.  See the
-http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html[Java
+https://docs.oracle.com/en/java/javase/11/security/java-secure-socket-extension-jsse-reference-guide.html[Java
 Secure Socket Extension Reference Guide] for information about standard
 algorithm names.
 keyStore::
-See <<CamelConfigurationUtilities-KeyStoreParameters>>. This optional property represents the key store that provides key
+This optional property represents the key store that provides key
 material to the key manager.  This is typically configured with a key
 store containing a user or server private key.  In some cases, such as
 when using PKCS#11, the key store is omitted entirely.
 
-[[CamelConfigurationUtilities-TrustManagersParameters]]
 === TrustManagersParameters
 
 TrustManagersParameters contain the following elements:
@@ -205,7 +181,7 @@ omitted, the default look-up behavior is used.
 algorithm::
 The optional algorithm name for the TrustManagerFactory used to create
 the TrustManager represented by this object's configuration.  See the
-http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html[Java
+https://docs.oracle.com/en/java/javase/11/security/java-secure-socket-extension-jsse-reference-guide.html[Java
 Secure Socket Extension Reference Guide] for information about standard
 algorithm names.
 trustManager::
@@ -228,12 +204,10 @@ KeyStoreParameters contain the following elements:
 * resource (attribute)
 
 type::
-The optional type of the key store.  See Appendix A in the
-http://download.oracle.com/javase/6/docs/technotes/guides/security/StandardNames.html#KeyStore[Java
-Cryptography Architecture Standard Algorithm Name Documentation] for
-more information on standard names.  If omitted, defaults to the default
-lookup mechanism as defined by
-http://download.oracle.com/javase/6/docs/api/java/security/KeyStore.html#getDefaultType()[KeyStore.getDefaultType()].
+The optional type of the key store.  See the
+https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html[Java Security Standard Algorithm Names]
+for more information on standard names.  If omitted, defaults to the default
+lookup mechanism as defined by `KeyStore.getDefaultType()`
 password::
 The optional password for reading/opening/verifying the key store.
 provider::
@@ -249,20 +223,7 @@ path, a class path resource, and a URL in that order. An exception is
 thrown if the resource cannot be resolved to readable input stream using
 any of the above methods.
 
-.*OSGi Usage*
-[NOTE]
-====
-For programmatic and Spring based XML configuration in OSGi, a resource
-specified as a classpath resource path may be accessible in the bundle
-containing the XML configuration file or in a package that is imported
-by that bundle.  As Blueprint does not define the thread context
-classloader behavior, only classpath resources in the bundle containing
-the XML configuration file may be resolved from a Blueprint based XML
-configuration.
-====
 
-
-[[CamelConfigurationUtilities-FilterParameters]]
 === FilterParameters
 
 FilterParameters contain the following elements:
@@ -278,7 +239,6 @@ This optional property represents zero or more regular expression
 patterns for which matching values should be included.  The list of
 excludes takes precedence over the include patterns.
 
-[[CamelConfigurationUtilities-SecureRandomParameters]]
 === SecureRandomParameters
 SecureRandomParameters contain the following elements:
 
@@ -288,15 +248,13 @@ algorithm::
 This optional property represents the Random Number Generator (RNG)
 algorithm identifier for the SecureRandom factory method used to create
 the SecureRandom represented by this object's configuration. See
-http://download.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#AppA[Appendix
-A] in the Java Cryptography Architecture API Specification & Reference
+https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html[Java Security Standard Algorithm Names]
 for information about standard RNG algorithm names.
 provider::
 The optional provider identifier for the SecureRandom factory method
 used to create the SecureRandom represented by this object's
 configuration.  If omitted, the default look-up behavior is used.
 
-[[CamelConfigurationUtilities-SSLContextServerParameters]]
 === SSLContextServerParameters
 SSLContextServerParameters contain the following elements:
 
@@ -335,7 +293,6 @@ This optional property overrides the value of this
 setting in the SSLContextParameters. This option has no affect on the
 SSLEngine configuration.
 
-[[CamelConfigurationUtilities-SSLContextClientParameters]]
 === SSLContextClientParameters
 SSLContextClientParameters contains the following elements:
 
@@ -350,21 +307,19 @@ sniHostNames::
 Contains a list of sniHostName elements which provides a list
 of SNIHostNames to be used for SSL.
 sessionTimeout::
-See <<CamelConfigurationUtilities-SSLContextServerParameters>>.
+See above
 cipherSuites::
-See <<CamelConfigurationUtilities-SSLContextServerParameters>>.
+See above
 cipherSuitesFilter::
-See <<CamelConfigurationUtilities-SSLContextServerParameters>>.
+See above
 secureSocketProtocols::
-See <<CamelConfigurationUtilities-SSLContextServerParameters>>.
+See above
 secureSocketProtocolsFilter::
-See <<CamelConfigurationUtilities-SSLContextServerParameters>>.
+See above
 
-[[CamelConfigurationUtilities-Examples]]
 == Examples
 
-[[CamelConfigurationUtilities-SettingClientAuthenticationOntheServerSide]]
-=== Setting Client Authentication On the Server Side
+=== Setting Client Authentication on the Server Side
 
 This configuration sets the server side aspects of the TLS configuration
 to require client authentication during the handshake process.  This
@@ -392,7 +347,6 @@ SSLContext context = scp.createSSLContext();
 SSLEngine engine = scp.createSSLEngine();
 -------------------------------------------------------------------
 
-[[CamelConfigurationUtilities-ConfiguringDifferentOptionsontheClientandServerSide]]
 == Configuring Different Options on the Client and Server Side
 
 In this example, both the client and server sides share the same custom
@@ -425,199 +379,3 @@ SSLContext context = scp.createSSLContext();
 SSLEngine engine = scp.createSSLEngine();
 -------------------------------------------------------------------
 
-[[CamelConfigurationUtilities-UsingCamelPropertyPlaceholders]]
-== Using Camel Property Placeholders
-
-This configuration utility fully supports the use of property
-placeholders (see xref:using-propertyplaceholder.adoc[Using
-PropertyPlaceholder]) in all configuration fields.  In order to support
-this feature, the configuration utility objects must be configured with
-a reference to a Camel context.  All of the utility classes except for
-CipherSuitesParameters and SecureSocketProtocolsParameters provide a
-setter method for providing the context reference.  Do not confuse the
-lack of a setter on CipherSuitesParameters and
-SecureSocketProtocolsParameters as an indication that you cannot use
-property placeholders when configuring these classes.  The lack of a
-setter is an internal implementation detail and full placeholder support
-is available for both of the configuration classes.
-
-The following example code demonstrates how to create a KeyStore
-instance based on configuration options provided by the Camel Properties
-Component and property placeholder support.
-
-[source,java]
----------------------------------------------------
-PropertiesComponent pc = new PropertiesComponent();
-pc.setLocation("file:./jsse-test.properties");
-
-CamelContext context = new DefaultCamelContext();
-context.addComponent("properties", pc);
-
-KeyStoreParameters ksp = new KeyStoreParameters();
-ksp.setContext(camelContext);
-ksp.setType("{{keyStoreParameters.type}}");
-ksp.setProvider("{{keyStoreParameters.provider}}");
-ksp.setResource("{{keyStoreParameters.resource}}");
-ksp.setPassword("{{keyStoreParamerers.password}}");
-
-KeyStore keyStore = ksp.createKeyStore();
----------------------------------------------------
-
-[[CamelConfigurationUtilities-XMLConfiguration]]
-=== XML Configuration
-
-[NOTE]
-====
-Note that XML configuration is supported in both Spring and Blueprint
-format.
-====
-
-[[CamelConfigurationUtilities-SettingClientAuthenticationOntheServerSide.1]]
-=== Setting Client Authentication On the Server Side
-
-This configuration sets the server side aspects of the TLS configuration
-to require client authentication during the handshake process.  This
-configuration uses the default trust store and a custom key store to
-provide key material for both the server and client sides of the
-SSLContext.
-
-[source,xml]
----------------------------------------------------------------------------------------------------------------
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:camel="http://camel.apache.org/schema/spring"
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-  <camel:sslContextParameters
-      id="mySslContext">
-
-    <camel:keyManagers
-        keyPassword="keyPassword">
-      <camel:keyStore
-          resource="/users/home/server/keystore.jks"
-          password="keystorePassword"/>
-    </camel:keyManagers>
-
-    <camel:serverParameters
-        clientAuthentication="WANT"/>
-
-  </camel:sslContextParameters>
-
-</beans>
----------------------------------------------------------------------------------------------------------------
-
-[[CamelConfigurationUtilities-ConfiguringDifferentOptionsontheClientandServerSide.1]]
-=== Configuring Different Options on the Client and Server Side
-
-In this example, both the client and server sides share the same custom
-key store; however, the client side allows any supported cipher suite
-while the server side will use the default cipher suite filter and
-exclude any cipher suites that match the patterns .*_NULL_.* and
-.*_anon_.*.
-
-[source,xml]
---------------------------------------------------------------
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-       xmlns:camel="http://camel.apache.org/schema/blueprint">
-
-  <camel:sslContextParameters
-      id="mySslContext">
-
-    <camel:keyManagers
-        keyPassword="keyPassword">
-      <camel:keyStore
-          resource="/users/home/server/keystore.jks"
-          password="keystorePassword"/>
-    </camel:keyManagers>
-
-    <camel:clientParameters>
-      <camel:cipherSuitesFilter>
-        <camel:include>.*</camel:include>
-      </camel:cipherSuitesFilter>
-    </camel:clientParameters>
-
-  </camel:sslContextParameters>
-
-</blueprint>
---------------------------------------------------------------
-
-[[CamelConfigurationUtilities-UsingCamelPropertyPlaceholders.1]]
-=== Using Camel Property Placeholders
-
-This configuration utility fully supports the use of property
-placeholders (see xref:using-propertyplaceholder.adoc[Using
-PropertyPlaceholder]) in all configuration fields for XML based
-configuration as well.  In order to support this feature, the
-configuration utility objects must be configured with a reference to a
-Camel context.  The Spring and Blueprint namespace handlers will
-automatically inject the reference to the context for you when there is
-one Camel context in scope. If you have more than one Camel context
-instance in your XML defined context, you can indicate which context
-reference to configure by specifying the camelContextId attribute in the
-top-level XML element.
-
-The following example code demonstrates how to create a KeyStore
-instance based on configuration options provided by the Camel Properties
-Component and property placeholder support. The Camel context with the
-ID example is used to resolve the property placeholders.
-
-[source,xml]
----------------------------------------------------------------------------------------------------------------
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:camel="http://camel.apache.org/schema/spring"
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-  <camel:camelContext id="example"/>
-
-  <camel:camelContext id="example2"/>
-
-  <camel:keyStoreParameters
-    id="ksp"
-    camelContextId="example"
-    resource="{{keyStoreParameters.resource}}"
-    type="{{keyStoreParameters.type}}"
-    provider="{{keyStoreParameters.provider}}"
-    password="{{keyStoreParamerers.password}}"/>
-
-</beans>
----------------------------------------------------------------------------------------------------------------
-
-[[CamelConfigurationUtilities-UsingSpringBoot.1]]
-=== Using Spring-Boot
-
-Camel provides a global SSL configuration that can be customized using the
-spring-boot _application.properties_ or _application.yml_ file.
-
-Components do not use the global SSL configuration by default, but this behavior can
-be changed using component-specific options. A flag named _useGlobalSslContextParameters_ is
-included in all components that support the global SSL configuration.
-
-The following example shows how to configure global SSL parameters (in _application.yml_) and enable their
-usage in the _camel-undertow_ component.
-
-[source,yaml]
-----
-camel:
-  # To enable global SSL in undertow
-  component:
-    undertow:
-      use-global-ssl-context-parameters: true
-  ssl:
-    config:
-      key-managers:
-        key-password: "changeit"
-        key-store:
-          resource: "/keystore.p12"
-          password: "changeit"
-          type: "PKCS12"
-      trust-managers:
-        key-store:
-          resource: "/cacerts"
-          password: "changeit"
-          type: "jks"
-----

[camel] 07/08: Polish and cleanup documentation

Posted by da...@apache.org.
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

commit a0e31ada337977775eb2458f1571f4d7af327911
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 19 13:08:31 2021 +0200

    Polish and cleanup documentation
---
 docs/user-manual/modules/ROOT/pages/pluggable-class-resolvers.adoc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/pluggable-class-resolvers.adoc b/docs/user-manual/modules/ROOT/pages/pluggable-class-resolvers.adoc
index b54fdd1..abf48a5 100644
--- a/docs/user-manual/modules/ROOT/pages/pluggable-class-resolvers.adoc
+++ b/docs/user-manual/modules/ROOT/pages/pluggable-class-resolvers.adoc
@@ -4,7 +4,7 @@ Camel provides pluggable class resolvers allowing third party platforms
 and containers to provide their own resolvers in case the default ones
 would not fit.
 
-When running Camel on platforms such as Spring Boot, Quarkus, or OSGi on Apache Karaf,
+When running Camel on platforms such as Spring Boot, Quarkus, or Apache Karaf,
 then Camel uses platform specific resolvers to support classloading in these runtimes.
 
 == Configuration of a custom class resolver
@@ -12,7 +12,7 @@ then Camel uses platform specific resolvers to support classloading in these run
 To instruct Camel to use your own custom class resolver, you set the
 resolver on the `CamelContext` using the appropriate setters;
 or register a custom resolver in the xref:registry.adoc[Registry] then Camel
-will automatic detect this during startup.
+will automatically detect this during startup.
 
 === SPI providers