You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by fm...@apache.org on 2023/05/08 10:35:33 UTC

[camel-spring-boot-examples] branch main updated: [saga] ActiveMQ to JMS (#103)

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

fmariani pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot-examples.git


The following commit(s) were added to refs/heads/main by this push:
     new 8cd1b62  [saga] ActiveMQ to JMS (#103)
8cd1b62 is described below

commit 8cd1b62f8cdd6f4a30c65b4b2820e11c97249285
Author: Marco Carletti <mc...@redhat.com>
AuthorDate: Mon May 8 12:35:27 2023 +0200

    [saga] ActiveMQ to JMS (#103)
---
 pom.xml                                            |  2 +-
 saga/local-resources/docker-compose.yml            |  2 +-
 saga/ocp-resources/amq-broker-ephemeral.yaml       |  2 +-
 saga/ocp-resources/amq-broker.yaml                 |  2 +-
 saga/pom.xml                                       | 28 +++++++++++++++++++---
 saga/readme.adoc                                   |  4 ++--
 .../camel/example/saga/CamelSagaApplication.java   |  9 -------
 .../org/apache/camel/example/saga/SagaRoute.java   |  6 ++---
 saga/saga-app/src/main/jkube/deployment.yml        |  2 +-
 saga/saga-app/src/main/resources/application.yml   | 13 ++++++----
 .../camel/example/saga/CamelSagaFlightService.java |  9 -------
 .../org/apache/camel/example/saga/FlightRoute.java |  4 ++--
 .../src/main/jkube/deployment.yml                  |  2 +-
 .../src/main/resources/application.yml             | 14 +++++++----
 .../example/saga/CamelSagaPaymentService.java      |  9 -------
 .../apache/camel/example/saga/PaymentRoute.java    |  2 +-
 .../src/main/jkube/deployment.yml                  |  2 +-
 .../src/main/resources/application.yml             | 13 ++++++----
 .../camel/example/saga/CamelSagaTrainService.java  |  9 -------
 .../org/apache/camel/example/saga/TrainRoute.java  |  4 ++--
 .../src/main/jkube/deployment.yml                  |  2 +-
 .../src/main/resources/application.yml             | 14 +++++++----
 22 files changed, 76 insertions(+), 78 deletions(-)

diff --git a/pom.xml b/pom.xml
index eac81ea..0b21ae0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,7 +69,7 @@
 		<module>routetemplate-xml</module>
 		<module>route-reload</module>
 		<module>routes-configuration</module>
-		<!--<module>saga</module>-->
+		<module>saga</module>
 		<module>supervising-route-controller</module>
 		<module>twitter-salesforce</module>
 		<module>type-converter</module>
diff --git a/saga/local-resources/docker-compose.yml b/saga/local-resources/docker-compose.yml
index 86e7316..4fc3416 100644
--- a/saga/local-resources/docker-compose.yml
+++ b/saga/local-resources/docker-compose.yml
@@ -4,7 +4,7 @@ services:
     image: "quay.io/jbosstm/lra-coordinator:latest"
     network_mode: "host"
   amq-broker:
-    image: "registry.redhat.io/amq7/amq-broker-rhel8:7.10"
+    image: "registry.redhat.io/amq7/amq-broker-rhel8:7.11.0"
     environment:
       - AMQ_USER=admin
       - AMQ_PASSWORD=admin
diff --git a/saga/ocp-resources/amq-broker-ephemeral.yaml b/saga/ocp-resources/amq-broker-ephemeral.yaml
index 0bf8f54..b7d83bd 100644
--- a/saga/ocp-resources/amq-broker-ephemeral.yaml
+++ b/saga/ocp-resources/amq-broker-ephemeral.yaml
@@ -35,7 +35,7 @@ items:
     tags:
     - from:
         kind: DockerImage
-        name: registry.redhat.io/amq7/amq-broker-rhel8:7.10
+        name: registry.redhat.io/amq7/amq-broker-rhel8:7.11.0
       generation: 0
       importPolicy: {}
       name: "latest"
diff --git a/saga/ocp-resources/amq-broker.yaml b/saga/ocp-resources/amq-broker.yaml
index 4bba17d..35317ca 100644
--- a/saga/ocp-resources/amq-broker.yaml
+++ b/saga/ocp-resources/amq-broker.yaml
@@ -48,7 +48,7 @@ items:
     tags:
     - from:
         kind: DockerImage
-        name: registry.redhat.io/amq7/amq-broker-rhel8:7.10
+        name: registry.redhat.io/amq7/amq-broker-rhel8:7.11.0
       generation: 0
       importPolicy: {}
       name: "latest"
diff --git a/saga/pom.xml b/saga/pom.xml
index 5517c62..18450b5 100644
--- a/saga/pom.xml
+++ b/saga/pom.xml
@@ -37,7 +37,7 @@
 
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <jkube.generator.from>registry.access.redhat.com/ubi8/openjdk-11</jkube.generator.from>
+        <jkube.generator.from>registry.access.redhat.com/ubi8/openjdk-17</jkube.generator.from>
     </properties>
 
     <modules>
@@ -67,10 +67,11 @@
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
-        </dependencies>
 
+        </dependencies>
     </dependencyManagement>
 
+
     <dependencies>
 
         <dependency>
@@ -100,7 +101,7 @@
 
         <dependency>
             <groupId>org.apache.camel.springboot</groupId>
-            <artifactId>camel-activemq-starter</artifactId>
+            <artifactId>camel-jms-starter</artifactId>
         </dependency>
 
         <dependency>
@@ -114,6 +115,16 @@
             <artifactId>camel-spring-boot-starter</artifactId>
         </dependency>
 
+        <!-- artemis jms pooled connections-->
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>artemis-jakarta-client</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.messaginghub</groupId>
+            <artifactId>pooled-jms</artifactId>
+        </dependency>
+
         <!-- test -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -126,4 +137,15 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <artifactId>openshift-maven-plugin</artifactId>
+                    <groupId>org.eclipse.jkube</groupId>
+                    <version>${jkube-maven-plugin-version}</version>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
 </project>
diff --git a/saga/readme.adoc b/saga/readme.adoc
index af5b36a..3d5def0 100644
--- a/saga/readme.adoc
+++ b/saga/readme.adoc
@@ -30,7 +30,7 @@ The communication between services and LRA coordinator (blue connectors) is via
 so every service expose REST endpoints called by the LRA, moreover it calls LRA via REST endpoint
 
 The communication between services (red connectors) is via AMQ broker (using OPENWIRE protocol),
-implemented using Camel ActiveMQ component and RequestReply EIP
+implemented using Camel JMS component and RequestReply EIP
 obtaining a synchronous behavior using asynchronous protocol
 
 ==== Analyzing logs
@@ -193,7 +193,7 @@ https://www.narayana.io/lra/index.html[Narayana LRA project]
 
 https://download.eclipse.org/microprofile/microprofile-lra-1.0/microprofile-lra-spec-1.0.html[Microprofile LRA specification]
 
-https://camel.apache.org/components/latest/activemq-component.html[Camel ActiveMQ component]
+https://camel.apache.org/components/latest/jms-component.html[Camel JMS component]
 
 https://camel.apache.org/components/latest/eips/requestReply-eip.html[Camel RequestReply EIP]
 
diff --git a/saga/saga-app/src/main/java/org/apache/camel/example/saga/CamelSagaApplication.java b/saga/saga-app/src/main/java/org/apache/camel/example/saga/CamelSagaApplication.java
index 80841b0..3ea46d4 100644
--- a/saga/saga-app/src/main/java/org/apache/camel/example/saga/CamelSagaApplication.java
+++ b/saga/saga-app/src/main/java/org/apache/camel/example/saga/CamelSagaApplication.java
@@ -17,19 +17,10 @@
 package org.apache.camel.example.saga;
 
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration;
 
 //CHECKSTYLE:OFF
 @SpringBootApplication
-@EnableAutoConfiguration(exclude = {
-        ArtemisAutoConfiguration.class,
-        JmsAutoConfiguration.class,
-        ActiveMQAutoConfiguration.class
-})
 public class CamelSagaApplication {
 
     public static void main(String[] args) {
diff --git a/saga/saga-app/src/main/java/org/apache/camel/example/saga/SagaRoute.java b/saga/saga-app/src/main/java/org/apache/camel/example/saga/SagaRoute.java
index 2f352b3..cf078c5 100644
--- a/saga/saga-app/src/main/java/org/apache/camel/example/saga/SagaRoute.java
+++ b/saga/saga-app/src/main/java/org/apache/camel/example/saga/SagaRoute.java
@@ -16,9 +16,7 @@
  */
 package org.apache.camel.example.saga;
 
-import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.SagaDefinition;
 import org.apache.camel.model.rest.RestParamType;
 
 import org.springframework.stereotype.Component;
@@ -38,11 +36,11 @@ public class SagaRoute extends RouteBuilder {
                 .compensation("direct:cancelOrder")
                     .log("Executing saga #${header.id} with LRA ${header.Long-Running-Action}")
                     .setHeader("payFor", constant("train"))
-                    .to("activemq:queue:{{example.services.train}}?exchangePattern=InOut" +
+                    .to("jms:queue:{{example.services.train}}?exchangePattern=InOut" +
                             "&replyTo={{example.services.train}}.reply")
                     .log("train seat reserved for saga #${header.id} with payment transaction: ${body}")
                     .setHeader("payFor", constant("flight"))
-                    .to("activemq:queue:{{example.services.flight}}?exchangePattern=InOut" +
+                    .to("jms:queue:{{example.services.flight}}?exchangePattern=InOut" +
                             "&replyTo={{example.services.flight}}.reply")
                     .log("flight booked for saga #${header.id} with payment transaction: ${body}")
                 .setBody(header("Long-Running-Action"))
diff --git a/saga/saga-app/src/main/jkube/deployment.yml b/saga/saga-app/src/main/jkube/deployment.yml
index addb54d..aa96a49 100644
--- a/saga/saga-app/src/main/jkube/deployment.yml
+++ b/saga/saga-app/src/main/jkube/deployment.yml
@@ -7,5 +7,5 @@ spec:
               value: http://lra-coordinator:8080
             - name: CAMEL_LRA_LOCAL_PARTICIPANT_URL
               value: http://${project.artifactId}:8080/api
-            - name: CAMEL_COMPONENT_ACTIVEMQ_BROKER-URL
+            - name: SPRING_ARTEMIS_BROKER_URL
               value: tcp://amq-broker:61616
diff --git a/saga/saga-app/src/main/resources/application.yml b/saga/saga-app/src/main/resources/application.yml
index f3ba936..bd33884 100644
--- a/saga/saga-app/src/main/resources/application.yml
+++ b/saga/saga-app/src/main/resources/application.yml
@@ -15,18 +15,21 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
+spring:
+  artemis:
+    mode: native
+    broker-url: tcp://localhost:61616
+    user: admin
+    password: admin
+    pool.enabled: true
 camel:
   servlet:
     mapping:
       enabled: true
       context-path: /api/*
   component:
-    activemq:
-      use-pooled-connection: true
+    jms:
       test-connection-on-startup: true
-      password: admin
-      username: admin
-      broker-url: tcp://localhost:61616
       concurrent-consumers: 5
   lra:
     enabled: true
diff --git a/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/CamelSagaFlightService.java b/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/CamelSagaFlightService.java
index 9eab5e2..900a0b9 100644
--- a/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/CamelSagaFlightService.java
+++ b/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/CamelSagaFlightService.java
@@ -1,19 +1,10 @@
 package org.apache.camel.example.saga;
 
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration;
 
 //CHECKSTYLE:OFF
 @SpringBootApplication
-@EnableAutoConfiguration(exclude = {
-        ArtemisAutoConfiguration.class,
-        JmsAutoConfiguration.class,
-        ActiveMQAutoConfiguration.class
-})
 public class CamelSagaFlightService {
 
     public static void main(String[] args) {
diff --git a/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/FlightRoute.java b/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/FlightRoute.java
index 27f9abc..aad1d10 100644
--- a/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/FlightRoute.java
+++ b/saga/saga-flight-service/src/main/java/org/apache/camel/example/saga/FlightRoute.java
@@ -26,13 +26,13 @@ public class FlightRoute extends RouteBuilder {
 
     @Override
     public void configure() throws Exception {
-        from("activemq:queue:{{example.services.flight}}")
+        from("jms:queue:{{example.services.flight}}")
             .saga()
                 .propagation(SagaPropagation.MANDATORY)
                 .option("id", header("id"))
                 .compensation("direct:cancelPurchase")
                 .log("Buying flight #${header.id}")
-                .to("activemq:queue:{{example.services.payment}}?exchangePattern=InOut" +
+                .to("jms:queue:{{example.services.payment}}?exchangePattern=InOut" +
                         "&replyTo={{example.services.payment}}.flight.reply")
                 .log("Payment for flight #${header.id} done with transaction ${body}")
             .end();
diff --git a/saga/saga-flight-service/src/main/jkube/deployment.yml b/saga/saga-flight-service/src/main/jkube/deployment.yml
index addb54d..aa96a49 100644
--- a/saga/saga-flight-service/src/main/jkube/deployment.yml
+++ b/saga/saga-flight-service/src/main/jkube/deployment.yml
@@ -7,5 +7,5 @@ spec:
               value: http://lra-coordinator:8080
             - name: CAMEL_LRA_LOCAL_PARTICIPANT_URL
               value: http://${project.artifactId}:8080/api
-            - name: CAMEL_COMPONENT_ACTIVEMQ_BROKER-URL
+            - name: SPRING_ARTEMIS_BROKER_URL
               value: tcp://amq-broker:61616
diff --git a/saga/saga-flight-service/src/main/resources/application.yml b/saga/saga-flight-service/src/main/resources/application.yml
index 22fded3..e2ab4ec 100644
--- a/saga/saga-flight-service/src/main/resources/application.yml
+++ b/saga/saga-flight-service/src/main/resources/application.yml
@@ -15,17 +15,21 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
+spring:
+  artemis:
+    mode: native
+    broker-url: tcp://localhost:61616
+    user: admin
+    password: admin
+    pool.enabled: true
 camel:
   servlet:
     mapping:
+      enabled: true
       context-path: /api/*
   component:
-    activemq:
-      use-pooled-connection: true
+    jms:
       test-connection-on-startup: true
-      password: admin
-      username: admin
-      broker-url: tcp://localhost:61616
       concurrent-consumers: 5
   lra:
     enabled: true
diff --git a/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/CamelSagaPaymentService.java b/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/CamelSagaPaymentService.java
index 648734a..15a8146 100644
--- a/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/CamelSagaPaymentService.java
+++ b/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/CamelSagaPaymentService.java
@@ -1,19 +1,10 @@
 package org.apache.camel.example.saga;
 
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration;
 
 //CHECKSTYLE:OFF
 @SpringBootApplication
-@EnableAutoConfiguration(exclude = {
-        ArtemisAutoConfiguration.class,
-        JmsAutoConfiguration.class,
-        ActiveMQAutoConfiguration.class
-})
 public class CamelSagaPaymentService {
 
     public static void main(String[] args) {
diff --git a/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/PaymentRoute.java b/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/PaymentRoute.java
index 0b9e1a1..c73ad56 100644
--- a/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/PaymentRoute.java
+++ b/saga/saga-payment-service/src/main/java/org/apache/camel/example/saga/PaymentRoute.java
@@ -27,7 +27,7 @@ public class PaymentRoute extends RouteBuilder {
     @Override
     public void configure() throws Exception {
 
-                from("activemq:queue:{{example.services.payment}}")
+                from("jms:queue:{{example.services.payment}}")
                 .routeId("payment-service")
                 .saga()
                     .propagation(SagaPropagation.MANDATORY)
diff --git a/saga/saga-payment-service/src/main/jkube/deployment.yml b/saga/saga-payment-service/src/main/jkube/deployment.yml
index addb54d..aa96a49 100644
--- a/saga/saga-payment-service/src/main/jkube/deployment.yml
+++ b/saga/saga-payment-service/src/main/jkube/deployment.yml
@@ -7,5 +7,5 @@ spec:
               value: http://lra-coordinator:8080
             - name: CAMEL_LRA_LOCAL_PARTICIPANT_URL
               value: http://${project.artifactId}:8080/api
-            - name: CAMEL_COMPONENT_ACTIVEMQ_BROKER-URL
+            - name: SPRING_ARTEMIS_BROKER_URL
               value: tcp://amq-broker:61616
diff --git a/saga/saga-payment-service/src/main/resources/application.yml b/saga/saga-payment-service/src/main/resources/application.yml
index e0fe7eb..6730035 100644
--- a/saga/saga-payment-service/src/main/resources/application.yml
+++ b/saga/saga-payment-service/src/main/resources/application.yml
@@ -15,18 +15,21 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
+spring:
+  artemis:
+    mode: native
+    broker-url: tcp://localhost:61616
+    user: admin
+    password: admin
+    pool.enabled: true
 camel:
   servlet:
     mapping:
       enabled: true
       context-path: /api/*
   component:
-    activemq:
-      use-pooled-connection: true
+    jms:
       test-connection-on-startup: true
-      password: admin
-      username: admin
-      broker-url: tcp://localhost:61616
       concurrent-consumers: 5
   lra:
     enabled: true
diff --git a/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/CamelSagaTrainService.java b/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/CamelSagaTrainService.java
index 5f0c7f3..ff09ca6 100644
--- a/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/CamelSagaTrainService.java
+++ b/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/CamelSagaTrainService.java
@@ -1,19 +1,10 @@
 package org.apache.camel.example.saga;
 
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration;
 
 //CHECKSTYLE:OFF
 @SpringBootApplication
-@EnableAutoConfiguration(exclude = {
-        ArtemisAutoConfiguration.class,
-        JmsAutoConfiguration.class,
-        ActiveMQAutoConfiguration.class
-})
 public class CamelSagaTrainService {
 
     public static void main(String[] args) {
diff --git a/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/TrainRoute.java b/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/TrainRoute.java
index 2e5b20d..2674255 100644
--- a/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/TrainRoute.java
+++ b/saga/saga-train-service/src/main/java/org/apache/camel/example/saga/TrainRoute.java
@@ -26,13 +26,13 @@ public class TrainRoute extends RouteBuilder {
 
     @Override
     public void configure() throws Exception {
-        from("activemq:queue:{{example.services.train}}")
+        from("jms:queue:{{example.services.train}}")
             .saga()
                 .propagation(SagaPropagation.MANDATORY)
                 .option("id", header("id"))
                 .compensation("direct:cancelPurchase")
                 .log("Buying train #${header.id}")
-                .to("activemq:queue:{{example.services.payment}}?exchangePattern=InOut" +
+                .to("jms:queue:{{example.services.payment}}?exchangePattern=InOut" +
                         "&replyTo={{example.services.payment}}.train.reply")
                 .log("Payment for train #${header.id} done with transaction ${body}")
             .end();
diff --git a/saga/saga-train-service/src/main/jkube/deployment.yml b/saga/saga-train-service/src/main/jkube/deployment.yml
index addb54d..aa96a49 100644
--- a/saga/saga-train-service/src/main/jkube/deployment.yml
+++ b/saga/saga-train-service/src/main/jkube/deployment.yml
@@ -7,5 +7,5 @@ spec:
               value: http://lra-coordinator:8080
             - name: CAMEL_LRA_LOCAL_PARTICIPANT_URL
               value: http://${project.artifactId}:8080/api
-            - name: CAMEL_COMPONENT_ACTIVEMQ_BROKER-URL
+            - name: SPRING_ARTEMIS_BROKER_URL
               value: tcp://amq-broker:61616
diff --git a/saga/saga-train-service/src/main/resources/application.yml b/saga/saga-train-service/src/main/resources/application.yml
index b8ae5e5..2e5081c 100644
--- a/saga/saga-train-service/src/main/resources/application.yml
+++ b/saga/saga-train-service/src/main/resources/application.yml
@@ -15,17 +15,21 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
+spring:
+  artemis:
+    mode: native
+    broker-url: tcp://localhost:61616
+    user: admin
+    password: admin
+    pool.enabled: true
 camel:
   servlet:
     mapping:
+      enabled: true
       context-path: /api/*
   component:
-    activemq:
-      use-pooled-connection: true
+    jms:
       test-connection-on-startup: true
-      password: admin
-      username: admin
-      broker-url: tcp://localhost:61616
       concurrent-consumers: 5
   lra:
     enabled: true