Polish "Add autoconfig for reactive sender template"
- Make reactive client optional - Guard reactive auto-config also on ReactivePulsarSenderTemplate - Add test for the above additional guard
This commit is contained in:
@@ -10,6 +10,7 @@ dependencies {
|
||||
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
|
||||
|
||||
optional project (':spring-pulsar')
|
||||
optional 'org.apache.pulsar:pulsar-client-reactive-adapter'
|
||||
optional 'org.apache.pulsar:pulsar-client-reactive-producer-cache-caffeine'
|
||||
implementation 'org.springframework.boot:spring-boot-starter'
|
||||
implementation 'com.google.code.findbugs:jsr305'
|
||||
|
||||
@@ -44,7 +44,7 @@ import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
* @author Christophe Bornet
|
||||
*/
|
||||
@AutoConfiguration(after = PulsarAutoConfiguration.class)
|
||||
@ConditionalOnClass(ReactivePulsarClient.class)
|
||||
@ConditionalOnClass({ ReactivePulsarSenderTemplate.class, ReactivePulsarClient.class })
|
||||
@EnableConfigurationProperties(PulsarReactiveProperties.class)
|
||||
public class PulsarReactiveAutoConfiguration {
|
||||
|
||||
|
||||
@@ -65,6 +65,12 @@ class PulsarReactiveAutoConfigurationTests {
|
||||
(context) -> assertThat(context).hasNotFailed().doesNotHaveBean(PulsarReactiveAutoConfiguration.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void autoConfigurationSkippedWhenReactivePulsarSenderTemplateNotOnClasspath() {
|
||||
this.contextRunner.withClassLoader(new FilteredClassLoader(ReactivePulsarSenderTemplate.class)).run(
|
||||
(context) -> assertThat(context).hasNotFailed().doesNotHaveBean(PulsarReactiveAutoConfiguration.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void defaultBeansAreAutoConfigured() {
|
||||
this.contextRunner.run((context) -> assertThat(context).hasNotFailed()
|
||||
|
||||
@@ -9,7 +9,6 @@ dependencies {
|
||||
api 'com.google.protobuf:protobuf-java'
|
||||
api 'io.micrometer:micrometer-observation'
|
||||
api 'org.apache.pulsar:pulsar-client-all'
|
||||
api 'org.apache.pulsar:pulsar-client-reactive-adapter'
|
||||
api 'org.springframework:spring-context'
|
||||
api 'org.springframework:spring-messaging'
|
||||
api 'org.springframework:spring-tx'
|
||||
@@ -19,6 +18,7 @@ dependencies {
|
||||
implementation 'com.fasterxml.jackson.core:jackson-core'
|
||||
implementation 'com.fasterxml.jackson.core:jackson-databind'
|
||||
implementation 'com.google.code.findbugs:jsr305'
|
||||
optional 'org.apache.pulsar:pulsar-client-reactive-adapter'
|
||||
optional 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8'
|
||||
optional 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
|
||||
optional 'com.fasterxml.jackson.datatype:jackson-datatype-joda'
|
||||
|
||||
Reference in New Issue
Block a user