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...
+ }
+}
+----