17 Commits

Author SHA1 Message Date
Chris Bono
473642e5f4 Log a warning when Lambda customizer used (#879)
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
2024-10-15 18:23:49 -05:00
Chris Bono
bce10bdccf Ensure default topics are fully qualified (#849)
* 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.
2024-09-13 10:32:03 -05:00
Chris Bono
001212583f Add IT for config props driven listener (#822)
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
2024-09-05 20:40:16 -05:00
Chris Bono
9064623fb1 Use auto-configured PulsarTopicBuilder (#817)
Now that Spring Boot `3.4.0-M2` auto-configures the `PulsarTopicBuilder`, this commit
updates ITs, samples, and docs accordingly.
2024-08-24 16:35:03 -05:00
Chris Bono
6d23378fbb Add support for default tenant and namespace (#766)
See #756
2024-08-12 14:03:32 -05:00
Chris Bono
ee889cc1d3 Update SSL certs used by integration-tests (#670) 2024-05-03 00:16:25 -05:00
JonasG
18378a8927 Add support for SpEL topics on @PulsarMessage
This commit adds support for expressions (property placeholders and
SpEL) on the topic attribute of @PulsarMessage.

Resolves #568
2024-02-13 21:08:54 -06:00
Chris Bono
653196f6a0 Use version catalog to drive java platform (#531)
* 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
2023-12-27 15:43:19 -06:00
Chris Bono
6155fd593b Fix ReactivePulsarListenerIntegrationTests use of customizer (#501) 2023-11-23 15:15:30 -06:00
Chris Bono
8ea93eba3e Update to Pulsar client 3.1.1 (#496) 2023-11-20 14:15:44 -06:00
Chris Bono
1e445e2b1e [CI] Add plugin for unpublished Spring modules 2023-09-30 22:35:14 -05:00
Chris Bono
02730275e8 Add SSL integration tests (#442)
* Also move inttests to subpackages based on functionality
* Also add app tests (non-ssl)
2023-09-10 22:21:59 -05:00
Chris Bono
a48eaf2b6b Use Spring Boot Pulsar starters (#441)
Fixes #439
2023-09-06 19:57:41 -05:00
Chris Bono
ef6506e527 Allow integration tests to use Spring Boot
- 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.
2023-07-21 21:48:24 -05:00
Chris Bono
0afde4b93a Update library versions (formatter only)
- Updates 'io.spring.javaformat:spring-javaformat-gradle-plugin' from '0.0.34` to `0.0.38`
- This in turn formats many files (expectd)
           	`
2023-07-20 13:32:29 -05:00
Chris Bono
c0f5e442c5 [Build] Rename project build.gradle to {project.name}.gradle 2023-05-26 00:42:39 -05:00
Chris Bono
b0e130c8e9 Break dependency on Spring Boot (#407)
- 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
2023-05-25 20:03:32 -05:00