You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zh...@apache.org on 2022/12/07 11:11:27 UTC

[camel-quarkus] branch 2.13.x updated: Fix #4317 to update jms documentation for pooling and XA support (#4323) (#4325)

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

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


The following commit(s) were added to refs/heads/2.13.x by this push:
     new 24d2f31cd1 Fix #4317 to update jms documentation for pooling and XA support (#4323) (#4325)
24d2f31cd1 is described below

commit 24d2f31cd19ecda18a38d71475b6453cbb852c7d
Author: Zheng Feng <zh...@gmail.com>
AuthorDate: Wed Dec 7 19:11:22 2022 +0800

    Fix #4317 to update jms documentation for pooling and XA support (#4323) (#4325)
---
 .../ROOT/pages/reference/extensions/jms.adoc       | 27 ++++++++++++++++++++++
 extensions/jms/runtime/src/main/doc/usage.adoc     | 26 +++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/docs/modules/ROOT/pages/reference/extensions/jms.adoc b/docs/modules/ROOT/pages/reference/extensions/jms.adoc
index 1a9afef8c5..e8669825a5 100644
--- a/docs/modules/ROOT/pages/reference/extensions/jms.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/jms.adoc
@@ -59,6 +59,33 @@ you must ensure that the `camel-quarkus-jaxp` extension is present on the classp
 When sending JMS message payloads as `javax.jms.ObjectMessage`, you must annotate the relevant classes to be registered for serialization with `@RegisterForReflection(serialization = true)`. 
 Note that this extension automatically sets `quarkus.camel.native.reflection.serialization-enabled = true` for you. Refer to the xref:user-guide/native-mode.adoc#serialization[native mode user guide] for more information.
 
+[id="extensions-jms-usage-pooling-and-xa-integrate-support"]
+=== Pooling and XA integrate support
+
+You can use the `quarkus-pooled-jms` extension to get pooling and XA integrate support for JMS connections. Refer to the https://quarkiverse.github.io/quarkiverse-docs/quarkus-pooled-jms/dev/index.html[quarkus-pooled-jms] extension documentation for more information. Currently, it only works with `quarkus-artemis-jms` extension. Just add these two dependencies to your `pom.xml`:
+[source,xml]
+----
+<dependency>
+    <groupId>io.quarkiverse.messaginghub</groupId>
+    <artifactId>quarkus-pooled-jms</artifactId>
+</dependency>
+<dependency>
+    <groupId>io.quarkiverse.artemis</groupId>
+    <artifactId>quarkus-artemis-jms</artifactId>
+</dependency>
+----
+
+Pooling is default enabled and for XA integrate support, you need to add the following configuration to your `application.properties`:
+[source,properties]
+----
+quarkus.pooled-jms.xa.enabled=true
+----
+
+[NOTE]
+====
+`clientID` and `durableSubscriptionName` are not supported in pooling connections. If `setClientID` is called on a `reused` connection from the pool, an `IllegalStateException` will be thrown. You will get some error messages such like `Cause: setClientID can only be called directly after the connection is created`
+====
+
 
 [id="extensions-jms-transferexception-option-in-native-mode"]
 == transferException option in native mode
diff --git a/extensions/jms/runtime/src/main/doc/usage.adoc b/extensions/jms/runtime/src/main/doc/usage.adoc
index d8f4cacc7f..788a0f50a3 100644
--- a/extensions/jms/runtime/src/main/doc/usage.adoc
+++ b/extensions/jms/runtime/src/main/doc/usage.adoc
@@ -7,3 +7,29 @@ you must ensure that the `camel-quarkus-jaxp` extension is present on the classp
 
 When sending JMS message payloads as `javax.jms.ObjectMessage`, you must annotate the relevant classes to be registered for serialization with `@RegisterForReflection(serialization = true)`. 
 Note that this extension automatically sets `quarkus.camel.native.reflection.serialization-enabled = true` for you. Refer to the xref:user-guide/native-mode.adoc#serialization[native mode user guide] for more information.
+
+=== Pooling and XA integrate support
+
+You can use the `quarkus-pooled-jms` extension to get pooling and XA integrate support for JMS connections. Refer to the https://quarkiverse.github.io/quarkiverse-docs/quarkus-pooled-jms/dev/index.html[quarkus-pooled-jms] extension documentation for more information. Currently, it only works with `quarkus-artemis-jms` extension. Just add these two dependencies to your `pom.xml`:
+[source,xml]
+----
+<dependency>
+    <groupId>io.quarkiverse.messaginghub</groupId>
+    <artifactId>quarkus-pooled-jms</artifactId>
+</dependency>
+<dependency>
+    <groupId>io.quarkiverse.artemis</groupId>
+    <artifactId>quarkus-artemis-jms</artifactId>
+</dependency>
+----
+
+Pooling is default enabled and for XA integrate support, you need to add the following configuration to your `application.properties`:
+[source,properties]
+----
+quarkus.pooled-jms.xa.enabled=true
+----
+
+[NOTE]
+====
+`clientID` and `durableSubscriptionName` are not supported in pooling connections. If `setClientID` is called on a `reused` connection from the pool, an `IllegalStateException` will be thrown. You will get some error messages such like `Cause: setClientID can only be called directly after the connection is created`
+====