This adjusts the `PulsarTemplate` to log a warning when a user provides
a `ProducerBuilderCustomizer` that is implemented as a Java Lambda.
This is important as the customizer is used as part of the producer
cache key and if not implemented properly will effectively disable
producer caching and write performance will degrade.
See #809
* Ensure default topics are fully qualified
Prior to this commit, only the topics specified on the `@PulsarListener`
were being fully qualified in the `DefaultPulsarConsumerFactory`. With
this change all topics (including the default topics driven by the
Spring Boot `spring.pulsar.consumer.topics` config prop) are
fully-qualified.
This commit adds an integration test to verify the following Spring Boot
config props can be used to configure `@PulsarListener` and
`@ReactivePulsarListener`:
- `spring.pulsar.consumer.topic`
- `spring.pulsar.consumer.subscription.name`
- `spring.pulsar.consumer.subscription.type`
See https://github.com/spring-projects/spring-boot/issues/42053
* Use version catalog to drive Java platform
This commit incorporates the use of the Gradle version catalog as well
as the related plugins to automatically update the libs.version.toml
versions file with updated dependencies.
The UpdateProjectVersionPlugin is also updated to modify the spring
boot version property in the `libs.versions.toml` versions file rather than
gradle.properties.
Resolves#523
- The integration-tests module uses SB dependencies
for test setup. This is problematic when attempting
a non-snapshot release as non-snapshot releases do
not include `repos.spring.io/snapshot`. This commit
treats the `integration-tests` module like the samples
module and always includes central, milestone, and
snapshot repos.
- Removes the use of spring-boot-dependencies to drive the
Java platform (spring-pulsar-dependencies). This is needed
to avoid chicken-egg problem when Spring Boot in turn has
a dependency on Spring Pulsar.
- Move integration tests into own sub-module
- The only place that still relies on Spring Boot is in the
integration tests and the samples.
- Update to Spring Boot 3.1.1-SNAPSHOT