From 2cdc97844d4916e4c3ffbafebcbb6745bc8b1643 Mon Sep 17 00:00:00 2001 From: Juan C Galvis <8420868+juancgalvis@users.noreply.github.com> Date: Wed, 10 Sep 2025 14:10:08 -0500 Subject: [PATCH 1/3] fix(queueType): Leave by default the queueType defined in virtualhost at server level --- .../async/rabbit/communications/TopologyCreator.java | 6 ++++-- docs/docs/reactive-commons/9-configuration-properties.md | 2 +- .../async/rabbit/config/props/AsyncProps.java | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java b/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java index 6451525b..8508cf2b 100644 --- a/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java +++ b/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java @@ -24,7 +24,7 @@ public class TopologyCreator { public TopologyCreator(Sender sender, String queueType) { this.sender = sender; - this.queueType = queueType != null ? queueType : "classic"; + this.queueType = queueType; } public Mono declare(ExchangeSpecification exchange) { @@ -97,7 +97,9 @@ protected QueueSpecification fillQueueType(QueueSpecification specification) { if (args == null) { args = new HashMap<>(); } - args.put("x-queue-type", resolvedQueueType); + if (resolvedQueueType != null) { + args.put("x-queue-type", resolvedQueueType); + } specification.arguments(args); return specification; } diff --git a/docs/docs/reactive-commons/9-configuration-properties.md b/docs/docs/reactive-commons/9-configuration-properties.md index 68202648..d9a122e7 100644 --- a/docs/docs/reactive-commons/9-configuration-properties.md +++ b/docs/docs/reactive-commons/9-configuration-properties.md @@ -31,7 +31,7 @@ app: enabled: true # if you want to disable this domain you can set it to false mandatory: false # if you want to enable mandatory messages, you can set it to true, this will throw an exception if the message cannot be routed to any queue brokerType: "rabbitmq" # please don't change this value - queueType: classic # you can change the queue type to 'quorum' if your RabbitMQ cluster supports it + queueType: null # you can set to 'classic' or to 'quorum' if your RabbitMQ cluster supports it, by default it will take the virtual host default queue type flux: maxConcurrency: 250 # max concurrency of listener flow domain: diff --git a/starters/async-rabbit-starter/src/main/java/org/reactivecommons/async/rabbit/config/props/AsyncProps.java b/starters/async-rabbit-starter/src/main/java/org/reactivecommons/async/rabbit/config/props/AsyncProps.java index a0be698f..d8370f16 100644 --- a/starters/async-rabbit-starter/src/main/java/org/reactivecommons/async/rabbit/config/props/AsyncProps.java +++ b/starters/async-rabbit-starter/src/main/java/org/reactivecommons/async/rabbit/config/props/AsyncProps.java @@ -76,6 +76,6 @@ public class AsyncProps extends GenericAsyncProps { private String brokerType = "rabbitmq"; @Builder.Default - private String queueType = "classic"; // or "quorum" + private String queueType = null; // "classic" or "quorum" } From 1d4f956a2a80ceaafc11f8fd686f953b1523bccc Mon Sep 17 00:00:00 2001 From: Juan C Galvis <8420868+juancgalvis@users.noreply.github.com> Date: Wed, 10 Sep 2025 14:18:41 -0500 Subject: [PATCH 2/3] fix(queueType): Leave by default the queueType defined in virtualhost at server level --- .../async/rabbit/communications/TopologyCreator.java | 3 ++- gradle.properties | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java b/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java index 8508cf2b..74463825 100644 --- a/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java +++ b/async/async-rabbit/src/main/java/org/reactivecommons/async/rabbit/communications/TopologyCreator.java @@ -90,7 +90,8 @@ public Mono declareQueue(String name, Optional ma protected QueueSpecification fillQueueType(QueueSpecification specification) { String resolvedQueueType = this.queueType; - if (specification.isAutoDelete() || specification.isExclusive()) { + if ("quorum".equals(resolvedQueueType) + && (specification.isAutoDelete() || specification.isExclusive())) { resolvedQueueType = "classic"; } Map args = specification.getArguments(); diff --git a/gradle.properties b/gradle.properties index bfb49b92..8bfc0c19 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -version=5.6.1 +version=5.6.3 toPublish=domain-events-api,async-commons-api,async-commons,shared-starter,async-rabbit,async-commons-rabbit-standalone,async-commons-rabbit-starter,async-kafka,async-kafka-starter,async-commons-starter onlyUpdater=true \ No newline at end of file From 33b44913aa7d5294e809e9855d400a7a408f5e23 Mon Sep 17 00:00:00 2001 From: Juan C Galvis <8420868+juancgalvis@users.noreply.github.com> Date: Wed, 10 Sep 2025 14:18:50 -0500 Subject: [PATCH 3/3] fix(queueType): Leave by default the queueType defined in virtualhost at server level --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 8bfc0c19..bfb49b92 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ -version=5.6.3 +version=5.6.1 toPublish=domain-events-api,async-commons-api,async-commons,shared-starter,async-rabbit,async-commons-rabbit-standalone,async-commons-rabbit-starter,async-kafka,async-kafka-starter,async-commons-starter onlyUpdater=true \ No newline at end of file