使用@EnableKafka方式进行配置,配置类如下:
@EnableKafka
@Configuration
@Slf4j
public class KafkaZWReportConfig {
@Value("${spring.kafka.bootstrap-servers}")
private String producerBootstrapServers;
@Bean
public Map<String, Object> producerConfigs1() {
Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, producerBootstrapServers);
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
return props;
}
@Bean
public ProducerFactory<String, Object> producerFactory1() {
return new DefaultKafkaProducerFactory<>(producerConfigs1());
}
/**
* 自定义的智网kafka kafkaTemplateZWReport
*
* @return
*/
@Bean(name = "kafkaTemplateReport")
public KafkaTemplate<String, Object> kafkaTemplateZWReport() {
return new KafkaTemplate<>(producerFactory1());
}
使用方法:
@Autowired
@Qualifier("kafkaTemplateReport")
private KafkaTemplate<String, Object> kafkaTemplateZWReport;
每引用一个就配置一个@EnableKafka注解的配置类,注意@Bean的名字不要重复