mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-05 00:56:58 +08:00
Merge branch '3.2.x'
Closes gh-39356
This commit is contained in:
commit
ff97fdc203
@ -65,6 +65,7 @@ import org.springframework.pulsar.reader.PulsarReaderContainerProperties;
|
||||
* @author Soby Chacko
|
||||
* @author Alexander Preuß
|
||||
* @author Phillip Webb
|
||||
* @author Jonas Geiregat
|
||||
* @since 3.2.0
|
||||
*/
|
||||
@AutoConfiguration
|
||||
@ -131,7 +132,7 @@ public class PulsarAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(PulsarConsumerFactory.class)
|
||||
DefaultPulsarConsumerFactory<Object> pulsarConsumerFactory(PulsarClient pulsarClient,
|
||||
DefaultPulsarConsumerFactory<?> pulsarConsumerFactory(PulsarClient pulsarClient,
|
||||
ObjectProvider<ConsumerBuilderCustomizer<?>> customizersProvider) {
|
||||
List<ConsumerBuilderCustomizer<?>> customizers = new ArrayList<>();
|
||||
customizers.add(this.propertiesMapper::customizeConsumerBuilder);
|
||||
@ -150,7 +151,7 @@ public class PulsarAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(name = "pulsarListenerContainerFactory")
|
||||
ConcurrentPulsarListenerContainerFactory<Object> pulsarListenerContainerFactory(
|
||||
ConcurrentPulsarListenerContainerFactory<?> pulsarListenerContainerFactory(
|
||||
PulsarConsumerFactory<Object> pulsarConsumerFactory, SchemaResolver schemaResolver,
|
||||
TopicResolver topicResolver, Environment environment) {
|
||||
PulsarContainerProperties containerProperties = new PulsarContainerProperties();
|
||||
|
@ -35,6 +35,7 @@ import org.junit.jupiter.api.condition.JRE;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.ValueSource;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.test.context.FilteredClassLoader;
|
||||
import org.springframework.boot.test.context.TestConfiguration;
|
||||
@ -374,6 +375,15 @@ class PulsarAutoConfigurationTests {
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void injectsExpectedBeanWithExplicitGenericType() {
|
||||
this.contextRunner.withBean(ExplicitGenericTypeConfig.class)
|
||||
.run((context) -> assertThat(context).getBean(ExplicitGenericTypeConfig.class)
|
||||
.hasFieldOrPropertyWithValue("consumerFactory", context.getBean(PulsarConsumerFactory.class))
|
||||
.hasFieldOrPropertyWithValue("containerFactory",
|
||||
context.getBean(ConcurrentPulsarListenerContainerFactory.class)));
|
||||
}
|
||||
|
||||
@TestConfiguration(proxyBeanMethods = false)
|
||||
static class ConsumerBuilderCustomizersConfig {
|
||||
|
||||
@ -391,6 +401,20 @@ class PulsarAutoConfigurationTests {
|
||||
|
||||
}
|
||||
|
||||
static class ExplicitGenericTypeConfig {
|
||||
|
||||
@Autowired
|
||||
PulsarConsumerFactory<TestType> consumerFactory;
|
||||
|
||||
@Autowired
|
||||
ConcurrentPulsarListenerContainerFactory<TestType> containerFactory;
|
||||
|
||||
static class TestType {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Nested
|
||||
|
Loading…
Reference in New Issue
Block a user