Closed yeollow closed 3 years ago
../config/kafka/KafkaWriterConfig.java
에서 각 topic별 KafkaItemWriter를 지정해준 @Bean이 정상적으로 생성되지 않음.
BeanCurrentlyIncreationException
이 발생함.NullPointerException
발생.KafkaTemplate지정 방식
properties를 Map.ofEntries와 같이 Factory Method Pattern으로 구현.
@Value(value = "${spring.kafka.producer.bootstrap-servers}")
private String bootStrapServer;
@Value(value = "${spring.kafka.producer.key-serializer}")
private String keySerializer;
@Value(value = "${spring.kafka.producer.value-serializer}")
private String valueSerializer;
@Value(value = "${spring.kafka.producer.acks}")
private String acks;
@Bean
public ProducerFactory<Long, ?> producerFactory() {
Map<String, Object> properties = Map.ofEntries(
Map.entry(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootStrapServer),
Map.entry(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, keySerializer),
Map.entry(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, valueSerializer),
Map.entry(ProducerConfig.ACKS_CONFIG, acks)
);
return new DefaultKafkaProducerFactory<>(properties);
}
@Bean
public KafkaTemplate<Long, ?> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
Spring Batch Job
Bacth Job 내용은 #18 의 Spring Batch Job내용과 동일
Kafka
producer 및 broker설정 내용 또한 #18 의 Kafka내용과 동일