Commit Graph
57 Commits
Author SHA1 Message Date
Stéphane Nicoll 03d367bb07 Merge branch '4.1.x'
Closes gh-51629
2026-09-08 17:29:34 +02:00
Stéphane Nicoll 18292d400c Merge branch '4.0.x' into 4.1.x
Closes gh-51628
2026-09-08 16:57:00 +02:00
Stéphane Nicoll b1e91c942e Add support for creating a container from a TestImage value
This commit improves TestImage so that an explicit image can trigger
the creation of the container, with optional additional setup. This
removes the need of creating additional container types for images that
have multiple flavors, and to please the static method that can only
create a container based on a single match.

Closes gh-51082
2026-09-08 16:46:48 +02:00
Andy Wilkinson ea613dc511 Merge branch '4.0.x' into 4.1.x
Closes gh-51599
2026-09-07 08:26:42 +01:00
Manu Sridharan 25a3f8feb9 Remove unnecessary NullAway suppressions
Signed-off-by: Manu Sridharan <msridhar@gmail.com>

See gh-51591
2026-09-07 08:18:11 +01:00
Andy Wilkinson 64fd200c46 Merge branch '4.1.x'
Closes gh-51579
2026-09-04 10:53:01 +01:00
Andy Wilkinson 9380e958d3 Merge branch '4.0.x' into 4.1.x
Closes gh-51578
2026-09-04 10:14:19 +01:00
JaeHyunAn 7fd64281e0 Apply RabbitMQ credential fallbacks for null values
Docker records an environment variable that is declared without a value
as a bare name, which DockerEnv maps to a null value rather than
omitting the key. Map.getOrDefault only falls back when the key is
absent, so both the fallback key and the guest default were skipped.

See gh-51546

Signed-off-by: JaeHyunAn <98042706+yyuneu@users.noreply.github.com>
2026-09-02 22:40:57 +09:00
Eddú Meléndez 4293de5eee Simplify Artemis AMQP 1.0 integration test
See gh-51081

Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
2026-07-21 08:27:22 +02:00
Stéphane Nicoll ebac87ae65 Configure trust packages in AMQP test that accepts JSON
See gh-49678
2026-07-15 16:56:25 +02:00
Stéphane Nicoll b5ba1ec85c Add AMQP 1.0 generic auto-configuration
This commit adds auto-configuration for the generic AMQP 1.0 client
in Spring AMQP 4.1, using Qpid ProtonJ. Support for connection factory,
client and listener endpoints are available.

The "spring.amqp" namespace exposes settings to connect to an AMQP 1.0
compliant broker and customize client and listeners settings. Docker
compose and testcontainers support using RabbitMQ, ActiveMQ, and Artemis
have been added too.

Closes gh-49678
2026-07-15 15:21:10 +02:00
Stéphane Nicoll f48cc3ac10 Move Spring AMQP 0.9 support to spring-boot-rabbitmq
Now that Spring AMQP supports AMQP 1.0 as well, we need to straighten
out our existing support. AMQP 0.9 is RabbitMQ specific, so we can no
longer refer it to "amqp". This commit migrates the existing support
to spring-boot-rabbitmq and renames the starters as well.

For continuity, users should migrate from "spring-boot-starter-amqp"
to "spring-boot-starter-rabbitmq". While the root package has been
changed for consistency, most names are the same, including
configuration properties still in the "spring.rabbitmq" namespace.

Keys to configure the version of the RabbitMQ clients have migrated to
'rabbitmq.client' and 'rabbitmq.stream.client' respectively.

Closes gh-49677
2026-07-15 15:10:09 +02:00
Stéphane Nicoll 5bf2a32b11 Merge branch '4.0.x' 2026-05-30 14:39:57 +02:00
Stéphane Nicoll 98084aab2b Reformat additional-spring-configuration-metadata.json files 2026-05-30 14:28:53 +02:00
Stéphane Nicoll 3638852fae Merge branch '4.0.x'
Closes gh-50612
2026-05-29 11:36:01 +02:00
Stéphane Nicoll 170c52f206 Merge branch '3.5.x' into 4.0.x
Closes gh-50611
2026-05-29 11:32:24 +02:00
Andy Wilkinson 6a74bb85a3 Merge branch '4.0.x'
Closes gh-50440
2026-05-14 15:03:44 +01:00
Andy Wilkinson add52b6ccd Merge branch '3.5.x' into 4.0.x
Closes gh-50439
2026-05-14 15:02:24 +01:00
Andy Wilkinson 18e3091c24 Merge branch '4.0.x'
Closes gh-50175
2026-04-23 08:44:28 +01:00
Andy Wilkinson f8bb8162d1 Merge branch '3.5.x' into 4.0.x
Closes gh-50174
2026-04-23 08:43:58 +01:00
Stéphane Nicoll 5296a5bbfd Revert "Rename spring-boot-amqp to spring-boot-rabbitmq"
This reverts commit 72b8a6ca05,
b820d9feac, and
edadf816ab.

See gh-49620
2026-03-20 11:03:28 +01:00
Stéphane Nicoll f728235906 Revert "Introduce Generic AMQP 1.0 client support"
This reverts commit 8dde82b557, c388dc92
5b7f0f726b, and
2d71ef94ed.

See gh-49621
2026-03-20 11:02:35 +01:00
Stéphane Nicoll c388dc92f1 Add AMQP 1.0 client auto-configuration
This commit adds auto-configuration for the generic AMQP 1.0 client
in Spring AMQP 4.1, using Qpid ProtonJ. The auto-configuration provides
an AmqpConnectionFactory as well as an AmqpClient with standard
customizer callbacks. The "spring.amqp" namespace exposes settings to
connect to an AMQP 1.0 compliant broker. Docker compose and
testcontainers support using RabbitMQ have been added too.

Closes gh-49621
2026-03-19 15:46:47 +01:00
Stéphane NicollandEddú Meléndez 72b8a6ca05 Migrate Spring RabbitMQ support to spring-boot-rabbitmq
See gh-49620

Co-authored-by: Eddú Meléndez <eddu.melendez@gmail.com>
2026-03-19 08:04:14 +01:00
Andy Wilkinson 391c898b49 Polish "Add SSL support to auto-configuration for Rabbit Streams"
See gh-48960

Signed-off-by: Andy Wilkinson <andy.wilkinson@broadcom.com>
2026-03-17 12:03:38 +00:00
Jay Choi f4c595dad8 Add SSL support to auto-configuration for Rabbit Streams
See gh-48960

Signed-off-by: Jay Choi <jayyoungchoi22@gmail.com>
2026-03-17 11:25:40 +00:00
Stéphane Nicoll e897935c5a Merge branch '4.0.x'
Closes gh-49386
2026-03-03 13:38:56 +01:00
Stéphane Nicoll 63c7099e84 Merge branch '3.5.x' into 4.0.x
Closes gh-49385
2026-03-03 13:38:43 +01:00
Andy Wilkinson 12c6292708 Support RabbitMQ Streams with Docker Compose
Closes gh-49162
2026-02-09 17:23:09 +00:00
Andy Wilkinson 8df13b4709 Polish "Add RabbitMQ Stream service connection from RabbitMQContainer"
See gh-42443
2026-02-09 14:11:32 +00:00
Eddú Meléndez 793f9a3ddb Add RabbitMQ Stream service connection from RabbitMQContainer
Add `RabbitStreamConnectionDetails` and support from
`RabbitMQContainer` when `rabbitmq_stream` plugin is enabled.

See gh-42443
2026-02-09 14:11:32 +00:00
Moritz Halbritter 9f3720a171 Automatically configure Spring AMQP's observation convention beans
This automatically registers RabbitListenerObservationConvention,
RabbitTemplateObservationConvention, RabbitStreamListenerObservationConvention
and RabbitStreamTemplateObservationConvention beans.

Closes gh-48922
2026-01-21 09:42:45 +01:00
Andy Wilkinson 16c85ef903 Start building against Spring AMQP 4.1.0-M1 snapshots
See gh-48800
2026-01-12 14:46:16 +00:00
Stéphane Nicoll 72afdfd94a Merge branch '3.5.x'
Closes gh-48487
2025-12-10 10:24:08 +01:00
Stéphane Nicoll 977be74768 Document replacement for removed "max-retries" properties
See gh-48023
Closes gh-48206
2025-11-21 10:59:42 +01:00
Stéphane Nicoll 3d23261f87 Merge branch '3.5.x'
Closes gh-48122
2025-11-13 14:55:19 +01:00
Stéphane Nicoll d1e5fe3248 Merge branch '3.5.x'
Closes gh-48106
2025-11-13 10:31:25 +01:00
Stéphane Nicoll 8584f604e3 Rename maxAttempts to maxRetries
Closes gh-48023
2025-11-11 10:22:08 +00:00
Stéphane Nicoll d1ae453824 Restore support of deprecated containers
This commit restore the service connection support for Testcontainers
implementations that were deprecated as part of TC 2.0. Previously,
only the new location was taken into account.

Closes gh-47796
2025-10-24 17:51:06 +02:00
Moritz Halbritter 64136a9901 Remove public modifier from referenced configurations in auto-configurations
Closes gh-47715
2025-10-20 15:18:11 +02:00
Eddú Meléndez 7f64615690 Upgrade to Testcontainers 2.0.1
* Update dependencies name
  Modules are prefixed with `testcontainers-`
* Update container classes
  Container classes are under `org.testcontainers.<module-name>` package

See gh-47664

Signed-off-by: Eddú Meléndez <eddu.melendez@gmail.com>
2025-10-17 17:11:24 +02:00
Stéphane Nicoll 36c2432f69 Rename 'spring-boot-tx' module to 'spring-boot-transaction'
Closes gh-47603
2025-10-16 09:14:20 +02:00
Moritz Halbritter 3aaf4b7b0a Add nullability annotations to tests in module/spring-boot-amqp
See gh-47263
2025-10-02 15:35:04 +02:00
Phillip Webb c1d51f8687 Remove Bitnami support
Closes gh-47267
2025-09-18 14:41:16 -07:00
Stéphane Nicoll 7a73925c90 Adapt AMQP auto-configuration to core retry semantics
This commit adapts the auto-configuration of AMQP message listeners
and RabbitTemplate moving away from Spring Retry.

One important change is that message listeners now only require a
RetryPolicy. To make the callback explicit, two customizers have been
introduced to clearly separate the scope of the customization:

* RabbitTemplateRetrySettingsCustomizer for the client-side and usage
of RabbitTemplate.
* RabbitListenerRetrySettingsCustomizer for message listeners.

Closes gh-47122
2025-09-09 16:55:34 +02:00
Phillip WebbandMoritz Halbritter 239f384ac0 Update PropertyMapper to better support nullability
Refactor `PropertyMapper` so that it no longer calls adapter or
predicate methods by default when the source value is `null`. This
effectively makes all default calls the same as using
`alwaysWhenNotNull` in the previous generation of the code.

For the limited times when you do need to deal with `null` values, the
new `always()` method can be used.

For example,

	map.from(source::method).to(destination::method);

Will not call `destination.method(...)` if `source.method()` returns
`null`.

Where as:

	map.from(source::method).always().to(destination::method);

Will call  `destination.method(null)` if `source.method()` returns
`null`.

This update provides clearer semantics for the API and allows for better
JSpecify nullability annotations. It has also simplified much of our
existing property mapper code.

Closes gh-47024

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
2025-09-05 14:43:33 -07:00
Moritz Halbritter db5680a79c Merge branch '3.5.x' 2025-08-28 14:04:26 +02:00
Moritz Halbritter 39a91dda9d Improve null-safety of module/spring-boot-amqp
See gh-46926
2025-08-26 14:22:54 +02:00
Moritz Halbritter 7ad90fb963 Improve null-safety of core/spring-boot-docker-compose
See gh-46926
2025-08-26 14:22:53 +02:00
Andy Wilkinson b42a060d0a Merge branch '3.5.x'
Closes gh-46943
2025-08-22 11:59:17 +01:00