Chris Bono
64159ff350
Update Pulsar to 2.11.0 ( #337 )
...
* User template vars for links to pulsar docs site
* Update all code references to `2.11.0`
2023-02-14 14:52:09 -06:00
Chris Bono
e65f282141
Improve docs for Pulsar service urls
2023-02-14 13:53:01 -05:00
Soby Chacko
eaec21477d
Readjust acktimeout and DLQ tests
2023-02-14 11:47:48 -05:00
Soby Chacko
9f4eeac34c
Polish to the previous commit.
...
Adding Nullable to the partitin count private method.
2023-02-13 14:44:46 -05:00
Soby Chacko
5b2d466c7d
Pulsar binder partition count defaults ( #339 )
...
* Pulsar binder partition count defaults
In Pulsar, partitioned topics are optional. If we set the default partition
count to be 1, then it unnecessarily creates a partitoned topic. Therefore,
we need to set the default partition count as 0 in the binder and extended binding
properties.
* PR review
2023-02-13 14:40:01 -05:00
Chris Bono
284b4b0c1e
Add consumer/producer config props to binder and binding level ( #338 )
...
* Move loadConf into ProducerBuilderConfigurationUtil
* Add full consumer/producer props to binder/binding props
* Re-use the consumer and producer props from PulsarProperties
* Add unit and integration test for newly added props
2023-02-13 11:06:21 -05:00
Chris Bono
48ac3836bc
Add PulsarReader section to docs ( #336 )
...
- Use template var for pulsar docs url
2023-02-09 14:41:42 -06:00
Soby Chacko
bc38cecce5
Basic binder compatibility tests
...
* Ensuring that AbstractBinderTests and Partition capable tests work
for Pulsar binder. Some tests needed to be overridden in order for them
to work in a Pulsar context.
Resolves https://github.com/spring-projects-experimental/spring-pulsar/issues/334
2023-02-09 10:35:36 -05:00
Christophe Bornet
0468ca22eb
Add reader application properties doc ( #333 )
2023-02-08 08:40:23 -06:00
Christophe Bornet
d13ae9a94d
Harmonize tests between PulsarTemplate and ReactivePulsarTemplate ( #332 )
2023-02-08 08:39:23 -06:00
Chris Bono
b432e3da67
Fix failing PulsarTemplateTest
...
* @Nested for send null tests
* @Nested for send non-primitive w/ schema tests
2023-02-07 19:53:43 -06:00
Christophe Bornet
33712c6bef
Add support for tombstone/null values
...
Fixes #311
2023-02-07 17:10:45 -06:00
Christophe Bornet
4da2f5025c
Use Schema.JSON instead of Schema.BYTES as default schema ( #325 )
...
* Use Schema.JSON instead of Schema.BYTES as default schema
* Default to BYTES schema if JSON cannot be constructed for the message type
* Add doc
2023-02-07 13:04:21 -06:00
Soby Chacko
c6680973a5
Pulsar Reader auto config (imperative)
...
Resolves https://github.com/spring-projects-experimental/spring-pulsar/issues/328
2023-02-07 12:25:19 -05:00
Christophe Bornet
9fb8879491
Bump the Pulsar reactive client to 0.2.0 ( #307 )
2023-02-07 09:19:41 -06:00
Chris Bono
34a30411b5
Producer and sender factories use topic resolver ( #322 )
...
* Producer and sender factories use topic resolver
* Remove resolveTopicName from ProducerUtils
* DefaultPulsarProducerFactory and CachingPulsarProducerFactory
use TopicResolver instead of ProducerUtils to resolve topic
name.
* Delete ReactiveMessageSenderUtils
* DefaultReactivePulsarSenderFactory use TopicResolver instead of
ReactiveMessageSenderUtils to resolve topic name
* Disabled shared consumer test again
2023-02-06 21:30:32 -06:00
Chris Bono
92dd113251
Add single customizer API in PulsarConsumerFactory ( #321 )
2023-02-06 20:22:33 -06:00
Soby Chacko
062e79e47f
Add boot property support to Pulsar Reader (imperative) ( #327 )
2023-02-06 20:22:00 -06:00
Soby Chacko
e67f22b79c
Trying to fix failing test in shared subscription ( #326 )
2023-02-06 18:07:34 -06:00
Soby Chacko
52ff019b96
More reader factory tests
...
Disabling the shared subscription test
2023-02-06 18:07:28 -05:00
Chris Bono
ba5573bfeb
Trim ReactivePulsarSenderFactory API ( #320 )
...
* The `createSender(Schema)` is not useful
in that most users will specify a topic and
not rely on the default topic.
2023-02-06 16:41:55 -06:00
Chris Bono
b97a44a378
Trim PulsarProducerFactory API ( #319 )
...
* The `createProducer(Schema)` is not useful
in that most users will specify a topic and
not rely on the default to send to
2023-02-06 15:55:33 -06:00
Chris Bono
f108bc202b
Update copyright 2023 on all source files ( #318 )
...
* Add ability to update all copyrights
* Update all source copyrights to 2023
* Disabling problematic pause/resume test
2023-02-06 15:54:34 -06:00
Soby Chacko
2e2b75908d
Adding back removed shared subscription test
2023-02-06 16:35:00 -05:00
Chris Bono
ce91178db8
Misc cleanups ( #317 )
...
* Replace `String.format` w/ `String.formatted`
* Simplify LogAccessor usage
* Replace `new LogAccessor(LogFactory.getLog(Class))`
calls w/ `new LogAccessor(Class)`
* Remove fully qualified refs in javadoc + code
2023-02-06 15:03:24 -06:00
Chris Bono
56dbe84cb4
Remove duplicate PulsarTestContainerSupport ( #316 )
...
Also:
* Re-order (alpha) test dependencies
2023-02-06 15:02:32 -06:00
Chris Bono
953c18d97e
Only assert when message matches
...
Update test to count messages by container/key
Update test - better logging
Update test - fix format
Update ci-pr.yml
Remove temp filter - run all tests
2023-02-06 15:25:30 -05:00
Chris Bono
59a4d94964
Update Pulsar 2.10.3 ( #315 )
2023-02-06 14:04:59 -06:00
Chris Bono
dd09c98c01
Update Spring Boot 3.0.2 ( #314 )
...
Also update:
* testcontainersVersion = `1.17.6`
* springCloudStreamVersion = `4.0.1`
2023-02-06 09:05:52 -06:00
Chris Bono
f211a3490b
Disable retry test plugin on CI
2023-02-03 17:08:27 -06:00
Soby Chacko
f804771658
Tests for shared subscriptions
...
Resolves https://github.com/spring-projects-experimental/spring-pulsar/issues/305
2023-02-02 20:36:05 -05:00
Chris Bono
b9710b947a
Improve ConsumerFactory API
...
- Simplify API to single method
- Add subscriptionName
- Add test for DefaultPulsarConsumerFactory
2023-02-02 19:37:21 -05:00
Soby Chacko
8dd39fdc7a
Basic Pulsar Reader API support in Spring Pulsar
...
Addressing PR review
2023-02-02 15:33:15 -05:00
Christophe Bornet
883aeaaf3c
Make SendMessageBuilder interface more navigable ( #304 )
2023-02-02 09:49:02 -06:00
Christophe Bornet
75e235f43a
Allow topic/schema resolution in ReactivePulsarTemplate sendMany ( #303 )
...
- Use switchOnFirst to determine the Schema and topic from the first message in doSendMany
- Fixes ordering issue when `doSendMany` did not have schema (see #300 )
2023-02-01 21:20:44 -06:00
Soby Chacko
c288e9e496
Failover consumer test improvements
...
Ensure that all 3 failover consumers participate in the subscription
2023-02-01 12:31:17 -05:00
Soby Chacko
4db9357dac
Test cleanup in failover consumer tests
2023-02-01 12:10:30 -05:00
Soby Chacko
cc379b16f9
Test cleanup: Consumer ACK tests
2023-02-01 12:04:49 -05:00
Soby Chacko
a7b0cf9d8b
Consumer test cleanup
2023-02-01 11:05:51 -05:00
Chris Bono
5dbb9a18c2
Don't allow topic to be set via customizers
...
- Add producer/sender factory createSender API
w/ only a schema
- Add producer/sender factory createSender API
w/ single customizer
- ReactivePulsarSenderFactory createSender API
consistent with PulsarProducerFactory
createProducer API
- Cleanup/refactor producer factory tests
Resolves #295
2023-02-01 10:40:48 -05:00
Soby Chacko
051aa43521
Test cleanup: DefaultPulsarMessageListenerContainerTests
2023-01-31 16:58:39 -05:00
Soby Chacko
ce96e7f5a9
Container pause/resume improvements ( #299 )
...
- When container is paused, ensure that we are not spinning
CPU cycles by constantly trying to poll in a loop. When
pausing the container, the polling waits until a condition
is signaled by resuming.
Resolves #297
2023-01-31 13:33:43 -06:00
Soby Chacko
224eb0b3e2
Pause/Resume further improvements ( #298 )
...
- Move pause/resume operation to abstract container
- Only pause/resume if container in proper state
Resovles #296
2023-01-30 15:39:48 -06:00
Chris Bono
280637f98f
Polish "Add ability to pause/resume listener containers"
...
- simplify pause/resume sample w/ code snippet
2023-01-30 12:42:09 -06:00
Soby Chacko
53bd54af4c
Add ability to pause/resume listener containers
...
Resolves #286
2023-01-30 12:25:28 -06:00
Chris Bono
6fdd6c743c
Update SCSt binder sample
...
* Use 2 different types of schema
now that the setSchema is thread-safe.
2023-01-30 10:39:18 -05:00
Chris Bono
7294580bfa
Add topic resolver ( #293 )
...
* Add topic resolver
- Topic resolver with configurable
message type to topic name mappings
See #269
* Sample app uses topic and schema resolver
* Add topic resolver docs
2023-01-30 10:38:19 -05:00
Soby Chacko
82e055a4bc
Renaming ListenerEndpointRegistry
...
ListenerEndpointRegistry -> GenericListenerEndpointRegistry
2023-01-27 17:56:30 -05:00
Chris Bono
7f724bb3e0
Polish "Create partitioned topics once per ns"
...
- ran the "./gradlew format"
- add @author tag
- re-ordered new test utility methods
2023-01-27 12:12:03 -06:00
Kirill Merkushev
392cb6f5a5
Create partitioned topics once per ns
...
User defined topics in different namespaces
should only be created in the namespace it
is specifies.
2023-01-27 12:09:41 -06:00