io.github.springwolf.bindings.kafka.configuration.SpringwolfKafkaBindingAutoConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of springwolf-kafka-binding Show documentation
Show all versions of springwolf-kafka-binding Show documentation
Automated JSON API documentation for Kafka Bindings
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.bindings.kafka.configuration;
import io.github.springwolf.bindings.kafka.scanners.messages.KafkaMessageBindingProcessor;
import io.github.springwolf.bindings.kafka.scanners.operations.KafkaOperationBindingProcessor;
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingProcessorPriority;
import io.github.springwolf.core.configuration.properties.SpringwolfConfigConstants;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.core.annotation.Order;
/**
* Autoconfiguration for the springwolf Kafka Binding.
*/
@AutoConfiguration
@ConditionalOnProperty(name = SpringwolfConfigConstants.SPRINGWOLF_ENABLED, havingValue = "true", matchIfMissing = true)
public class SpringwolfKafkaBindingAutoConfiguration {
@Bean
@Order(value = BindingProcessorPriority.PROTOCOL_BINDING)
@ConditionalOnMissingBean
public KafkaOperationBindingProcessor kafkaOperationBindingProcessor() {
return new KafkaOperationBindingProcessor();
}
@Bean
@Order(value = BindingProcessorPriority.PROTOCOL_BINDING)
@ConditionalOnMissingBean
public KafkaMessageBindingProcessor kafkaMessageBindingProcessor() {
return new KafkaMessageBindingProcessor();
}
}