Merge pull request #39308 from jonasgeiregat
* pr/39308: Polish "Use generic wildcard for Pulsar beans" Use generic wildcard for Pulsar beans Closes gh-39308
This commit is contained in:
		
						commit
						7842f737ba
					
				| 
						 | 
				
			
			@ -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();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,6 +34,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;
 | 
			
		||||
| 
						 | 
				
			
			@ -373,6 +374,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 {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -390,6 +400,20 @@ class PulsarAutoConfigurationTests {
 | 
			
		|||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		static class ExplicitGenericTypeConfig {
 | 
			
		||||
 | 
			
		||||
			@Autowired
 | 
			
		||||
			PulsarConsumerFactory<TestType> consumerFactory;
 | 
			
		||||
 | 
			
		||||
			@Autowired
 | 
			
		||||
			ConcurrentPulsarListenerContainerFactory<TestType> containerFactory;
 | 
			
		||||
 | 
			
		||||
			static class TestType {
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Nested
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue