Skip to content

Commit 7deb74a

Browse files
committed
Merge pull request #42120 from vpavic
* gh-42120: Improve Pulsar listener container concurrency configuration Closes gh-42120
2 parents 0bc2761 + 4eba42f commit 7deb74a

File tree

3 files changed

+4
-27
lines changed

3 files changed

+4
-27
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarAutoConfiguration.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
* @author Alexander Preuß
7070
* @author Phillip Webb
7171
* @author Jonas Geiregat
72-
* @author Vedran Pavic
7372
* @since 3.2.0
7473
*/
7574
@AutoConfiguration
@@ -188,10 +187,7 @@ ConcurrentPulsarListenerContainerFactory<?> pulsarListenerContainerFactory(
188187
}
189188
pulsarTransactionManager.ifUnique(containerProperties.transactions()::setTransactionManager);
190189
this.propertiesMapper.customizeContainerProperties(containerProperties);
191-
ConcurrentPulsarListenerContainerFactory<Object> listenerContainerFactory = new ConcurrentPulsarListenerContainerFactory<>(
192-
pulsarConsumerFactory, containerProperties);
193-
this.propertiesMapper.customizeConcurrentPulsarListenerContainerFactory(listenerContainerFactory);
194-
return listenerContainerFactory;
190+
return new ConcurrentPulsarListenerContainerFactory<>(pulsarConsumerFactory, containerProperties);
195191
}
196192

197193
@Bean

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/pulsar/PulsarPropertiesMapper.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939

4040
import org.springframework.boot.context.properties.PropertyMapper;
4141
import org.springframework.boot.json.JsonWriter;
42-
import org.springframework.pulsar.config.ConcurrentPulsarListenerContainerFactory;
4342
import org.springframework.pulsar.core.PulsarTemplate;
4443
import org.springframework.pulsar.listener.PulsarContainerProperties;
4544
import org.springframework.pulsar.reader.PulsarReaderContainerProperties;
@@ -197,17 +196,10 @@ private void customizePulsarContainerListenerProperties(PulsarContainerPropertie
197196
PulsarProperties.Listener properties = this.properties.getListener();
198197
PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull();
199198
map.from(properties::getSchemaType).to(containerProperties::setSchemaType);
199+
map.from(properties::getConcurrency).to(containerProperties::setConcurrency);
200200
map.from(properties::isObservationEnabled).to(containerProperties::setObservationEnabled);
201201
}
202202

203-
@SuppressWarnings("removal")
204-
<T> void customizeConcurrentPulsarListenerContainerFactory(
205-
ConcurrentPulsarListenerContainerFactory<T> listenerContainerFactory) {
206-
PulsarProperties.Listener properties = this.properties.getListener();
207-
PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull();
208-
map.from(properties::getConcurrency).to(listenerContainerFactory::setConcurrency);
209-
}
210-
211203
<T> void customizeReaderBuilder(ReaderBuilder<T> readerBuilder) {
212204
PulsarProperties.Reader properties = this.properties.getReader();
213205
PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull();

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/pulsar/PulsarPropertiesMapperTests.java

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141

4242
import org.springframework.boot.autoconfigure.pulsar.PulsarProperties.Consumer;
4343
import org.springframework.boot.autoconfigure.pulsar.PulsarProperties.Failover.BackupCluster;
44-
import org.springframework.pulsar.config.ConcurrentPulsarListenerContainerFactory;
4544
import org.springframework.pulsar.core.PulsarProducerFactory;
4645
import org.springframework.pulsar.core.PulsarTemplate;
4746
import org.springframework.pulsar.listener.PulsarContainerProperties;
@@ -264,29 +263,19 @@ void customizeContainerProperties() {
264263
properties.getConsumer().getSubscription().setType(SubscriptionType.Shared);
265264
properties.getConsumer().getSubscription().setName("my-subscription");
266265
properties.getListener().setSchemaType(SchemaType.AVRO);
266+
properties.getListener().setConcurrency(10);
267267
properties.getListener().setObservationEnabled(true);
268268
properties.getTransaction().setEnabled(true);
269269
PulsarContainerProperties containerProperties = new PulsarContainerProperties("my-topic-pattern");
270270
new PulsarPropertiesMapper(properties).customizeContainerProperties(containerProperties);
271271
assertThat(containerProperties.getSubscriptionType()).isEqualTo(SubscriptionType.Shared);
272272
assertThat(containerProperties.getSubscriptionName()).isEqualTo("my-subscription");
273273
assertThat(containerProperties.getSchemaType()).isEqualTo(SchemaType.AVRO);
274+
assertThat(containerProperties.getConcurrency()).isEqualTo(10);
274275
assertThat(containerProperties.isObservationEnabled()).isTrue();
275276
assertThat(containerProperties.transactions().isEnabled()).isTrue();
276277
}
277278

278-
@Test
279-
@SuppressWarnings("removal")
280-
void customizeConcurrentPulsarListenerContainerFactory() {
281-
PulsarProperties properties = new PulsarProperties();
282-
properties.getListener().setConcurrency(10);
283-
ConcurrentPulsarListenerContainerFactory<?> listenerContainerFactory = mock(
284-
ConcurrentPulsarListenerContainerFactory.class);
285-
new PulsarPropertiesMapper(properties)
286-
.customizeConcurrentPulsarListenerContainerFactory(listenerContainerFactory);
287-
then(listenerContainerFactory).should().setConcurrency(10);
288-
}
289-
290279
@Test
291280
@SuppressWarnings("unchecked")
292281
void customizeReaderBuilder() {

0 commit comments

Comments
 (0)