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

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


The following commit(s) were added to refs/heads/main by this push:
     new 55b35a6f58 Document available configuration methods for the Infinispan 
extension
55b35a6f58 is described below

commit 55b35a6f58a52ffa4c1091c5355253acddb669c5
Author: James Netherton <[email protected]>
AuthorDate: Tue May 14 10:45:37 2024 +0100

    Document available configuration methods for the Infinispan extension
---
 .../pages/reference/extensions/infinispan.adoc     | 57 +++++++++++++++++---
 .../runtime/src/main/doc/configuration.adoc        | 28 ----------
 .../infinispan/runtime/src/main/doc/usage.adoc     | 63 ++++++++++++++++++++++
 3 files changed, 112 insertions(+), 36 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/extensions/infinispan.adoc 
b/docs/modules/ROOT/pages/reference/extensions/infinispan.adoc
index 15eeabc4a4..2073a7931c 100644
--- a/docs/modules/ROOT/pages/reference/extensions/infinispan.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/infinispan.adoc
@@ -45,16 +45,55 @@ ifeval::[{doc-show-user-guide-link} == true]
 Check the xref:user-guide/index.adoc[User guide] for more information about 
writing Camel Quarkus applications.
 endif::[]
 
-[id="extensions-infinispan-additional-camel-quarkus-configuration"]
-== Additional Camel Quarkus configuration
+[id="extensions-infinispan-usage"]
+== Usage
+[id="extensions-infinispan-usage-infinispan-client-configuration"]
+=== Infinispan client configuration
+
+You can configure Camel Infinispan in one of two ways.
+
+1. Using the relevant Camel Infinispan 
xref:{cq-camel-components}::infinispan-component.adoc#_component_options[component
 & endpoint options]
+
+2. Using the 
https://quarkus.io/guides/infinispan-client#configuration-reference[Quarkus 
Infinispan extension configuration properties].
+
+More details about these two configuration methods is described below.
+
+[id="extensions-infinispan-usage-camel-infinispan-component-and-endpoint-configuration"]
+=== Camel Infinispan component and endpoint configuration
+
+When using 'pure' Camel Infinispan component and endpoint configuration (I.e 
where's there's no `quarkus.infinispan-client` configuration set), you *must* 
disable generation of the default Quarkus Infinispan `RemoteCacheManager` bean 
by adding the following configuration to `application.properties`.
+
+[source,properties]
+----
+quarkus.infinispan-client.devservices.create-default-client=false
+----
+
+If you wish to take advantage of 
https://quarkus.io/guides/infinispan-dev-services[Quarkus Dev Services for 
Infinispan], the Camel Infinispan component can be configured as follows in 
`application.properties`.
+
+[source,properties]
+----
+# dev / test mode Quarkus Infinispan Dev services configuration
+quarkus.infinispan-client.devservices.port=31222
+%dev,test.camel.component.infinispan.username=admin
+%dev,test.camel.component.infinispan.password=password
+%dev,test.camel.component.infinispan.secure=true
+%dev,test.camel.component.infinispan.hosts=localhost:31222
+
+# Example prod mode configuration
+%prod.camel.component.infinispan.username=prod-user
+%prod.camel.component.infinispan.password=prod-password
+%prod.camel.component.infinispan.secure=true
+%prod.camel.component.infinispan.hosts=infinispan.prod:11222
+----
 
-[id="extensions-infinispan-configuration-infinispan-client-configuration"]
-=== Infinispan Client Configuration
+[id="extensions-infinispan-usage-quarkus-infinispan-configuration"]
+=== Quarkus Infinispan configuration
 
-You can either configure the Infinispan client via the relevant Camel 
Infinispan component & endpoint options, or you
-may use the 
https://quarkus.io/guides/infinispan-client#configuration-reference[Quarkus 
Infinispan extension configuration properties].
+When using the 
https://quarkus.io/guides/infinispan-client#configuration-reference[Quarkus 
Infinispan extension configuration properties], the Quarkus Infinispan 
extensions creates and manages a `RemoteCacheManager` bean.
 
-Note that if you choose to use Quarkus Infinispan configuration properties, 
you *must* add an injection point for the `RemoteCacheManager` in order for it 
to be discoverable by the Camel Infinispan component. For example:
+The bean will get automatically autowired into the Camel Infinispan component 
on application startup.
+
+Note that to materialize the `RemoteCacheManager` beans, you *must* add 
injection points for them. For example:
 
 [source,java]
 ----
@@ -73,10 +112,12 @@ public class Routes extends RouteBuilder {
         // Route configuration here...
     }
 }
-
 ----
 
 
+[id="extensions-infinispan-additional-camel-quarkus-configuration"]
+== Additional Camel Quarkus configuration
+
 
[id="extensions-infinispan-configuration-camel-infinispan-infinispanremoteaggregationrepository-in-native-mode"]
 === Camel Infinispan `InfinispanRemoteAggregationRepository` in native mode
 
diff --git a/extensions/infinispan/runtime/src/main/doc/configuration.adoc 
b/extensions/infinispan/runtime/src/main/doc/configuration.adoc
index cdc779e832..e71931dbe6 100644
--- a/extensions/infinispan/runtime/src/main/doc/configuration.adoc
+++ b/extensions/infinispan/runtime/src/main/doc/configuration.adoc
@@ -1,31 +1,3 @@
-=== Infinispan Client Configuration
-
-You can either configure the Infinispan client via the relevant Camel 
Infinispan component & endpoint options, or you
-may use the 
https://quarkus.io/guides/infinispan-client#configuration-reference[Quarkus 
Infinispan extension configuration properties].
-
-Note that if you choose to use Quarkus Infinispan configuration properties, 
you *must* add an injection point for the `RemoteCacheManager` in order for it 
to be discoverable by the Camel Infinispan component. For example:
-
-[source,java]
-----
-public class Routes extends RouteBuilder {
-    // Injects the default unnamed RemoteCacheManager
-    @Inject
-    RemoteCacheManager cacheManager;
-
-    // If configured, injects an optional named RemoteCacheManager
-    @Inject
-    @InfinispanClientName("myNamedClient")
-    RemoteCacheManager namedCacheManager;
-
-    @Override
-    public void configure() {
-        // Route configuration here...
-    }
-}
-
-----
-
-
 === Camel Infinispan `InfinispanRemoteAggregationRepository` in native mode
 
 If you chose to use the `InfinispanRemoteAggregationRepository` in native 
mode, then you must 
xref:extensions/core.adoc#quarkus.camel.native.reflection.serialization-enabled[enable
 native serialization support].
diff --git a/extensions/infinispan/runtime/src/main/doc/usage.adoc 
b/extensions/infinispan/runtime/src/main/doc/usage.adoc
new file mode 100644
index 0000000000..975d63f337
--- /dev/null
+++ b/extensions/infinispan/runtime/src/main/doc/usage.adoc
@@ -0,0 +1,63 @@
+=== Infinispan client configuration
+
+You can configure Camel Infinispan in one of two ways.
+
+1. Using the relevant Camel Infinispan 
xref:{cq-camel-components}::infinispan-component.adoc#_component_options[component
 & endpoint options]
+
+2. Using the 
https://quarkus.io/guides/infinispan-client#configuration-reference[Quarkus 
Infinispan extension configuration properties].
+
+More details about these two configuration methods is described below.
+
+=== Camel Infinispan component and endpoint configuration
+
+When using 'pure' Camel Infinispan component and endpoint configuration (I.e 
where's there's no `quarkus.infinispan-client` configuration set), you *must* 
disable generation of the default Quarkus Infinispan `RemoteCacheManager` bean 
by adding the following configuration to `application.properties`.
+
+[source,properties]
+----
+quarkus.infinispan-client.devservices.create-default-client=false
+----
+
+If you wish to take advantage of 
https://quarkus.io/guides/infinispan-dev-services[Quarkus Dev Services for 
Infinispan], the Camel Infinispan component can be configured as follows in 
`application.properties`.
+
+[source,properties]
+----
+# dev / test mode Quarkus Infinispan Dev services configuration
+quarkus.infinispan-client.devservices.port=31222
+%dev,test.camel.component.infinispan.username=admin
+%dev,test.camel.component.infinispan.password=password
+%dev,test.camel.component.infinispan.secure=true
+%dev,test.camel.component.infinispan.hosts=localhost:31222
+
+# Example prod mode configuration
+%prod.camel.component.infinispan.username=prod-user
+%prod.camel.component.infinispan.password=prod-password
+%prod.camel.component.infinispan.secure=true
+%prod.camel.component.infinispan.hosts=infinispan.prod:11222
+----
+
+=== Quarkus Infinispan configuration
+
+When using the 
https://quarkus.io/guides/infinispan-client#configuration-reference[Quarkus 
Infinispan extension configuration properties], the Quarkus Infinispan 
extensions creates and manages a `RemoteCacheManager` bean.
+
+The bean will get automatically autowired into the Camel Infinispan component 
on application startup.
+
+Note that to materialize the `RemoteCacheManager` beans, you *must* add 
injection points for them. For example:
+
+[source,java]
+----
+public class Routes extends RouteBuilder {
+    // Injects the default unnamed RemoteCacheManager
+    @Inject
+    RemoteCacheManager cacheManager;
+
+    // If configured, injects an optional named RemoteCacheManager
+    @Inject
+    @InfinispanClientName("myNamedClient")
+    RemoteCacheManager namedCacheManager;
+
+    @Override
+    public void configure() {
+        // Route configuration here...
+    }
+}
+----

Reply via email to