Skip to content

Commit 9064623

Browse files
authored
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.
1 parent 824c020 commit 9064623

File tree

10 files changed

+18
-30
lines changed

10 files changed

+18
-30
lines changed

integration-tests/src/intTest/java/org/springframework/pulsar/inttest/app/ImperativeAppConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ class ImperativeAppConfig {
3939
private static final String TOPIC = "pulsar-inttest-topic";
4040

4141
@Bean
42-
PulsarTopic pulsarTestTopic() {
43-
return new PulsarTopicBuilder().name(TOPIC).numberOfPartitions(1).build();
42+
PulsarTopic pulsarTestTopic(PulsarTopicBuilder topicBuilder) {
43+
return topicBuilder.name(TOPIC).numberOfPartitions(1).build();
4444
}
4545

4646
@Bean

integration-tests/src/intTest/java/org/springframework/pulsar/inttest/app/ReactiveAppConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ class ReactiveAppConfig {
4343
private static final String TOPIC = "pulsar-reactive-inttest-topic";
4444

4545
@Bean
46-
PulsarTopic pulsarTestTopic() {
47-
return new PulsarTopicBuilder().name(TOPIC).numberOfPartitions(1).build();
46+
PulsarTopic pulsarTestTopic(PulsarTopicBuilder topicBuilder) {
47+
return topicBuilder.name(TOPIC).numberOfPartitions(1).build();
4848
}
4949

5050
@Bean

integration-tests/src/intTest/java/org/springframework/pulsar/inttest/config/DefaultTenantAndNamespaceTests.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ class DefaultTenantAndNamespaceTests {
5050
static PulsarContainer PULSAR_CONTAINER = new PulsarContainer(PulsarTestContainerSupport.getPulsarImage());
5151

5252
@Nested
53-
@SpringBootTest(classes = ImperativeAppConfig.class)
53+
@SpringBootTest(classes = ImperativeAppConfig.class,
54+
properties = { "spring.pulsar.defaults.topic.tenant=my-tenant-i",
55+
"spring.pulsar.defaults.topic.namespace=my-namespace-i" })
5456
@ExtendWith(OutputCaptureExtension.class)
5557
@ActiveProfiles("inttest.pulsar.imperative")
5658
class WithImperativeApp {
@@ -66,7 +68,9 @@ void produceConsumeWithDefaultTenantNamespace(CapturedOutput output,
6668
}
6769

6870
@Nested
69-
@SpringBootTest(classes = ReactiveAppConfig.class)
71+
@SpringBootTest(classes = ReactiveAppConfig.class,
72+
properties = { "spring.pulsar.defaults.topic.tenant=my-tenant-r",
73+
"spring.pulsar.defaults.topic.namespace=my-namespace-r" })
7074
@ExtendWith(OutputCaptureExtension.class)
7175
@ActiveProfiles("inttest.pulsar.reactive")
7276
class WithReactiveApp {

integration-tests/src/intTest/java/org/springframework/pulsar/inttest/config/ImperativeAppConfig.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.apache.commons.logging.Log;
2222
import org.apache.commons.logging.LogFactory;
2323
import org.apache.pulsar.client.api.PulsarClient;
24-
import org.apache.pulsar.common.naming.TopicDomain;
2524
import org.apache.pulsar.common.policies.data.TenantInfoImpl;
2625

2726
import org.springframework.boot.ApplicationRunner;
@@ -51,11 +50,6 @@ class ImperativeAppConfig {
5150
static final String FQ_TOPIC = "persistent://my-tenant-i/my-namespace-i/dtant-topic-i";
5251
static final String MSG_PREFIX = "DefaultTenantNamespace-i:";
5352

54-
@Bean
55-
PulsarTopicBuilder topicBuilder() {
56-
return new PulsarTopicBuilder(TopicDomain.persistent, TENANT, NAMESPACE);
57-
}
58-
5953
@Bean
6054
PulsarProducerFactory<Object> pulsarProducerFactory(PulsarClient pulsarClient, TopicResolver topicResolver,
6155
PulsarTopicBuilder topicBuilder) {

integration-tests/src/intTest/java/org/springframework/pulsar/inttest/config/ReactiveAppConfig.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.apache.commons.logging.Log;
2323
import org.apache.commons.logging.LogFactory;
24-
import org.apache.pulsar.common.naming.TopicDomain;
2524
import org.apache.pulsar.common.policies.data.TenantInfoImpl;
2625
import org.apache.pulsar.reactive.client.api.ReactivePulsarClient;
2726

@@ -53,11 +52,6 @@ class ReactiveAppConfig {
5352
static final String FQ_TOPIC = "persistent://my-tenant-r/my-namespace-r/dtant-topic-r";
5453
static final String MSG_PREFIX = "DefaultTenantNamespace-r:";
5554

56-
@Bean
57-
PulsarTopicBuilder topicBuilder() {
58-
return new PulsarTopicBuilder(TopicDomain.persistent, TENANT, NAMESPACE);
59-
}
60-
6155
@Bean
6256
ReactivePulsarSenderFactory<Object> reactivePulsarSenderFactory(ReactivePulsarClient reactivePulsarClient,
6357
PulsarTopicBuilder topicBuilder) {

spring-pulsar-docs/src/main/antora/modules/ROOT/pages/reference/pulsar-admin.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ The following example shows how to add `PulsarTopic` beans to let the `PulsarAdm
3131
[source,java,indent=0,subs="verbatim"]
3232
----
3333
@Bean
34-
PulsarTopic simpleTopic {
34+
PulsarTopic simpleTopic(PulsarTopicBuilder topicBuilder) {
3535
// This will create a non-partitioned persistent topic in the 'public/default' tenant/namespace
36-
return new PulsarTopicBuilder().name("my-topic").build();
36+
return topicBuilder.name("my-topic").build();
3737
}
3838
3939
@Bean
40-
PulsarTopic partitionedTopic {
40+
PulsarTopic partitionedTopic(PulsarTopicBuilder topicBuilder) {
4141
// This will create a persistent topic with 3 partitions in the provided tenant and namespace
42-
return new PulsarTopicBuilder()
42+
return topicBuilder
4343
.name("persistent://my-tenant/my-namespace/partitioned-topic")
4444
.numberOfPartitions(3)
4545
.build();

spring-pulsar-sample-apps/sample-failover-custom-router/build.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ dependencies {
2525
implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
2626
implementation 'io.zipkin.reporter2:zipkin-sender-urlconnection'
2727
developmentOnly 'org.springframework.boot:spring-boot-docker-compose'
28-
// TODO remove when new PulsarTopicBuilder published
29-
implementation project(':spring-pulsar')
3028
testImplementation project(':spring-pulsar-test')
3129
testRuntimeOnly 'ch.qos.logback:logback-classic'
3230
testImplementation "org.springframework.boot:spring-boot-starter-test"

spring-pulsar-sample-apps/sample-failover-custom-router/src/main/java/com/example/FailoverConsumerApp.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ public static void main(String[] args) {
4545
}
4646

4747
@Bean
48-
PulsarTopic failoverDemoTopic() {
49-
return new PulsarTopicBuilder().name(TOPIC).numberOfPartitions(3).build();
48+
PulsarTopic failoverDemoTopic(PulsarTopicBuilder topicBuilder) {
49+
return topicBuilder.name(TOPIC).numberOfPartitions(3).build();
5050
}
5151

5252
@Bean

spring-pulsar-sample-apps/sample-imperative-produce-consume/build.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ ext['pulsar.version'] = "${pulsarVersion}"
2121
dependencies {
2222
implementation 'org.springframework.boot:spring-boot-starter-pulsar'
2323
developmentOnly 'org.springframework.boot:spring-boot-docker-compose'
24-
// TODO remove when new PulsarTopicBuilder published
25-
implementation project(':spring-pulsar')
2624
implementation(testFixtures(project(":spring-pulsar")))
2725
implementation project(':spring-pulsar-test')
2826
testRuntimeOnly 'ch.qos.logback:logback-classic'

spring-pulsar-sample-apps/sample-imperative-produce-consume/src/main/java/com/example/ImperativeProduceAndConsumeApp.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ static class ProduceConsumeWithPartitions {
9898
private static final String TOPIC = "produce-consume-partitions";
9999

100100
@Bean
101-
PulsarTopic partitionedTopic() {
102-
return new PulsarTopicBuilder().name(TOPIC).numberOfPartitions(3).build();
101+
PulsarTopic partitionedTopic(PulsarTopicBuilder topicBuilder) {
102+
return topicBuilder.name(TOPIC).numberOfPartitions(3).build();
103103
}
104104

105105
@Bean

0 commit comments

Comments
 (0)