From 24cec4a46965b751ceadfeaf60b2de6c4ef4d2ef Mon Sep 17 00:00:00 2001 From: rabbitmq-ci Date: Tue, 22 Jul 2025 15:17:34 +0000 Subject: [PATCH 1/9] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 70cbe967f..fc6a28a7b 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.rabbitmq.client amqp-client - 0.7.0 + 0.8.0-SNAPSHOT RabbitMQ AMQP 1.0 Java client The RabbitMQ AMQP 1.0 Java client library defines an API to access RabbitMQ with AMQP 1.0. @@ -35,7 +35,7 @@ https://github.com/rabbitmq/rabbitmq-amqp-java-client scm:git:git://github.com/rabbitmq/rabbitmq-amqp-java-client.git scm:git:https://github.com/rabbitmq/rabbitmq-amqp-java-client.git - v0.7.0 + HEAD From 0056db4a500eead2b58de080f48ec8e423166e01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= <514737+acogoluegnes@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:59:45 +0200 Subject: [PATCH 2/9] Add samples for stream filtering web page --- .../amqp/docs/WebsiteDocumentation.java | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/rabbitmq/client/amqp/docs/WebsiteDocumentation.java b/src/test/java/com/rabbitmq/client/amqp/docs/WebsiteDocumentation.java index 7e635f97c..97b6e9ef0 100644 --- a/src/test/java/com/rabbitmq/client/amqp/docs/WebsiteDocumentation.java +++ b/src/test/java/com/rabbitmq/client/amqp/docs/WebsiteDocumentation.java @@ -11,9 +11,10 @@ import com.rabbitmq.client.amqp.Publisher; import com.rabbitmq.client.amqp.impl.AmqpEnvironmentBuilder; -import java.nio.charset.StandardCharsets; import java.time.Duration; +import static java.nio.charset.StandardCharsets.UTF_8; + public class WebsiteDocumentation { void environment() { @@ -48,7 +49,7 @@ void publishing() { // create the message Message message = publisher - .message("hello".getBytes(StandardCharsets.UTF_8)) + .message("hello".getBytes(UTF_8)) .messageId(1L); // publish the message and deal with broker feedback @@ -326,4 +327,52 @@ void deactivateRecovery() { .activated(false) .connectionBuilder().build(); } + + void propertyFilterExpressions() { + Connection connection = null; + Consumer consumer = connection.consumerBuilder() + .stream().filter() + .userId("John".getBytes(UTF_8)) + .subject("&p:Order") + .property("region", "emea") + .stream().builder() + .queue("my-queue") + .messageHandler((ctx, msg ) -> { + // message processing + }) + .build(); + } + + void sqlFilterExpressions() { + Connection connection = null; + Consumer consumer = connection.consumerBuilder() + .stream().filter() + .sql("properties.user_id = 'John' AND " + + "properties.subject LIKE 'Order%' AND " + + "region = 'emea'") + .stream().builder() + .queue("my-queue") + .messageHandler((ctx, msg ) -> { + // message processing + }) + .build(); + } + + void combinedFilterExpressions() { + Connection connection = null; + Consumer consumer = connection.consumerBuilder() + .stream() + .filterValues("order.created") + .filter() + .sql("p.subject = 'order.created' AND " + + "p.creation_time > UTC() - 3600000 AND " + + "region IN ('AMER', 'EMEA', 'APJ') AND " + + "(h.priority > 4 OR price >= 99.99 OR premium_customer = TRUE)") + .stream().builder() + .queue("my-queue") + .messageHandler((ctx, msg ) -> { + // message processing + }) + .build(); + } } From b485eaab1a50a6966a44374d36ee3da6bb322dc9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 17:56:20 +0000 Subject: [PATCH 3/9] Bump org.assertj:assertj-core from 3.27.3 to 3.27.4 Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj) from 3.27.3 to 3.27.4. - [Release notes](https://github.com/assertj/assertj/releases) - [Commits](https://github.com/assertj/assertj/compare/assertj-build-3.27.3...assertj-build-3.27.4) --- updated-dependencies: - dependency-name: org.assertj:assertj-core dependency-version: 3.27.4 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fc6a28a7b..68d60d8ce 100644 --- a/pom.xml +++ b/pom.xml @@ -48,7 +48,7 @@ 2.13.1 1.2.13 5.13.4 - 3.27.3 + 3.27.4 5.18.0 1.9.3 1.5.2 From bbab0df422650e221f002c58b7818924dac4eb04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 00:48:45 +0000 Subject: [PATCH 4/9] Bump actions/checkout from 4 to 5 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/publish-documentation.yml | 2 +- .github/workflows/publish-snapshot.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/sanity-check.yml | 4 ++-- .github/workflows/test-pr.yml | 4 ++-- .github/workflows/test-rabbitmq-alphas.yml | 4 ++-- .github/workflows/test-supported-java-versions.yml | 4 ++-- .github/workflows/test.yml | 4 ++-- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/publish-documentation.yml b/.github/workflows/publish-documentation.yml index 05c4b7df2..2f91cf336 100644 --- a/.github/workflows/publish-documentation.yml +++ b/.github/workflows/publish-documentation.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 with: diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml index a6c61c918..b9516c644 100644 --- a/.github/workflows/publish-snapshot.yml +++ b/.github/workflows/publish-snapshot.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 537e00dda..0075af4f6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up JDK uses: actions/setup-java@v4 with: diff --git a/.github/workflows/sanity-check.yml b/.github/workflows/sanity-check.yml index dfc8073f9..f205cbbcd 100644 --- a/.github/workflows/sanity-check.yml +++ b/.github/workflows/sanity-check.yml @@ -14,9 +14,9 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Checkout tls-gen - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: rabbitmq/tls-gen path: './tls-gen' diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 36fdfcda7..dda07090b 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -10,9 +10,9 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Checkout tls-gen - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: rabbitmq/tls-gen path: './tls-gen' diff --git a/.github/workflows/test-rabbitmq-alphas.yml b/.github/workflows/test-rabbitmq-alphas.yml index bfafd8fe8..d73c8f75f 100644 --- a/.github/workflows/test-rabbitmq-alphas.yml +++ b/.github/workflows/test-rabbitmq-alphas.yml @@ -18,9 +18,9 @@ jobs: - pivotalrabbitmq/rabbitmq:main-otp27 name: Test against ${{ matrix.rabbitmq-image }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Checkout tls-gen - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: rabbitmq/tls-gen path: './tls-gen' diff --git a/.github/workflows/test-supported-java-versions.yml b/.github/workflows/test-supported-java-versions.yml index 3cd9cbe3b..06a6e7508 100644 --- a/.github/workflows/test-supported-java-versions.yml +++ b/.github/workflows/test-supported-java-versions.yml @@ -17,9 +17,9 @@ jobs: version: '17' name: Test against Java ${{ matrix.distribution }} ${{ matrix.version }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Checkout tls-gen - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: rabbitmq/tls-gen path: './tls-gen' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 63b292505..fcf89e945 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,9 +11,9 @@ jobs: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Checkout tls-gen - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: rabbitmq/tls-gen path: './tls-gen' From e30f75624fe02405af34314ae24b82ee31fea855 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 01:14:14 +0000 Subject: [PATCH 5/9] Bump spotbugs.version from 4.9.3 to 4.9.4 Bumps `spotbugs.version` from 4.9.3 to 4.9.4. Updates `com.github.spotbugs:spotbugs-annotations` from 4.9.3 to 4.9.4 - [Release notes](https://github.com/spotbugs/spotbugs/releases) - [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md) - [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.3...4.9.4) Updates `com.github.spotbugs:spotbugs` from 4.9.3 to 4.9.4 - [Release notes](https://github.com/spotbugs/spotbugs/releases) - [Changelog](https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md) - [Commits](https://github.com/spotbugs/spotbugs/compare/4.9.3...4.9.4) --- updated-dependencies: - dependency-name: com.github.spotbugs:spotbugs-annotations dependency-version: 4.9.4 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.github.spotbugs:spotbugs dependency-version: 4.9.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 68d60d8ce..ad0ebaa17 100644 --- a/pom.xml +++ b/pom.xml @@ -67,7 +67,7 @@ 2.46.1 1.28.0 4.9.3.2 - 4.9.3 + 4.9.4 3.2.1 3.2.8 3.2.0 From ffda80e9fa8792afbdb8148efb5768b8f29264a3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 02:38:15 +0000 Subject: [PATCH 6/9] Bump micrometer.version from 1.15.2 to 1.15.3 Bumps `micrometer.version` from 1.15.2 to 1.15.3. Updates `io.micrometer:micrometer-core` from 1.15.2 to 1.15.3 - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.15.2...v1.15.3) Updates `io.micrometer:micrometer-registry-prometheus` from 1.15.2 to 1.15.3 - [Release notes](https://github.com/micrometer-metrics/micrometer/releases) - [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.15.2...v1.15.3) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-core dependency-version: 1.15.3 dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.micrometer:micrometer-registry-prometheus dependency-version: 1.15.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 68d60d8ce..c8c9cbb19 100644 --- a/pom.xml +++ b/pom.xml @@ -44,7 +44,7 @@ 1.7.36 4.2.3.Final 0.0.26.Final - 1.15.2 + 1.15.3 2.13.1 1.2.13 5.13.4 From 4071c2f88af9f71814f9616ca852a40613f606b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 20:08:11 +0000 Subject: [PATCH 7/9] Bump io.micrometer:micrometer-tracing-integration-test Bumps [io.micrometer:micrometer-tracing-integration-test](https://github.com/micrometer-metrics/tracing) from 1.5.2 to 1.5.3. - [Release notes](https://github.com/micrometer-metrics/tracing/releases) - [Commits](https://github.com/micrometer-metrics/tracing/compare/v1.5.2...v1.5.3) --- updated-dependencies: - dependency-name: io.micrometer:micrometer-tracing-integration-test dependency-version: 1.5.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3628d48b2..244fda75c 100644 --- a/pom.xml +++ b/pom.xml @@ -51,7 +51,7 @@ 3.27.4 5.18.0 1.9.3 - 1.5.2 + 1.5.3 1.0.4 0.9.6 3.18.0 From ed325add5e8983faaca0885334bf28877192eb46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:10:02 +0000 Subject: [PATCH 8/9] Bump netty4.version from 4.2.3.Final to 4.2.4.Final Bumps `netty4.version` from 4.2.3.Final to 4.2.4.Final. Updates `io.netty:netty-buffer` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-common` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-handler` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-transport` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-codec-http` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-transport-native-epoll` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-transport-native-kqueue` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) Updates `io.netty:netty-transport-native-io_uring` from 4.2.3.Final to 4.2.4.Final - [Commits](https://github.com/netty/netty/compare/netty-4.2.3.Final...netty-4.2.4.Final) --- updated-dependencies: - dependency-name: io.netty:netty-buffer dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-common dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-handler dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-codec-http dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-native-epoll dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-native-kqueue dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.netty:netty-transport-native-io_uring dependency-version: 4.2.4.Final dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 244fda75c..ca47ebc66 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,7 @@ UTF-8 true 1.7.36 - 4.2.3.Final + 4.2.4.Final 0.0.26.Final 1.15.3 2.13.1 From 9f2312be696423de2d1c5e12907cd1dcd2f2142d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Cogolu=C3=A8gnes?= <514737+acogoluegnes@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:31:01 +0200 Subject: [PATCH 9/9] Merge QPid ProtonJ2 with upstream --- .../qpid/protonj2/client/SourceOptions.java | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/src/main/qpid/org/apache/qpid/protonj2/client/SourceOptions.java b/src/main/qpid/org/apache/qpid/protonj2/client/SourceOptions.java index 0ade3a1c6..dd35f9438 100644 --- a/src/main/qpid/org/apache/qpid/protonj2/client/SourceOptions.java +++ b/src/main/qpid/org/apache/qpid/protonj2/client/SourceOptions.java @@ -19,8 +19,10 @@ import java.util.Arrays; import java.util.HashMap; import java.util.Map; +import java.util.Objects; import org.apache.qpid.protonj2.client.impl.ClientDeliveryState; +import org.apache.qpid.protonj2.types.DescribedType; /** * Options type that carries configuration for link Source types. @@ -99,6 +101,32 @@ public SourceOptions filters(Map filters) { return self(); } + /** + * Adds the given named filter into the map of filters (one will be created if not already set). + *

+ * If a previous filters {@link Map} was assigned this new filter instance will be assigned + * into that existing map, it is not cleared or reallocated. The descriptor should either be + * an Symbol or UnsignedLong that aligns with the filters definition being used. + * + * @param name + * The name to use when adding the described filter to the filters {@link Map}. + * @param descriptor + * The descriptor used for the {@link DescribedType} that will carry the filter. + * @param filter + * The filter value to assign to the filter {@link DescribedType}. + * + * @return this {@link SourceOptions} instance. + */ + public SourceOptions addFilter(String name, Object descriptor, Object filter) { + if (filters == null) { + filters = new HashMap<>(); + } + + filters.put(name, new FilterDescribedType(descriptor, filter)); + + return self(); + } + /** * @return the configured default outcome as a {@link DeliveryState} instance. */ @@ -139,4 +167,54 @@ public SourceOptions outcomes(DeliveryState.Type... outcomes) { SourceOptions self() { return this; } + + private static class FilterDescribedType implements DescribedType { + + private final Object descriptor; + private final Object described; + + public FilterDescribedType(Object descriptor, Object described) { + this.descriptor = descriptor; + this.described = described; + } + + @Override + public Object getDescriptor() { + return descriptor; + } + + @Override + public Object getDescribed() { + return this.described; + } + + @Override + public String toString() { + return "FilterDescribedType{ descriptor:" + descriptor + ", described:" + described + " }"; + } + + @Override + public int hashCode() { + return Objects.hash(described, descriptor); + } + + @Override + public boolean equals(Object target) { + if (this == target) { + return true; + } + + if (target == null) { + return false; + } + + if (!(target instanceof DescribedType)) { + return false; + } + + final DescribedType other = (DescribedType) target; + + return Objects.equals(descriptor, other.getDescriptor()) && Objects.equals(described, other.getDescribed()); + } + } }