스프링 배치잡으로 실행하려고 셋팅 하고 (라이브러리셋팅, config셋팅)
kafka consumer 를 poll 할때
ConcurrentModificationException. KafkaConsumer is not safe for multi-threaded access
에러가 발생했다.
이유가 뭔고 하니
카프카 컨슈머는 쓰레드세이프하지 않으니 멀티쓰레드 환경에서는 쓰지 말라는 것이다.
어쩔까 하다 보니 결국 하나씩만 실행하게 환경을 구축해 줘야 한다.
.yml 파일에 아래와 같이 셋팅해주자.
spring.task.execution.pool.coreSize: 1
관련 javadoc : http://kafka.apache.org/21/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html#multithreaded
'java' 카테고리의 다른 글
kafka producer 생성예제 (0) | 2023.10.19 |
---|---|
java.util.concurrent.CompletionException: java.lang.IllegalStateException: Duplicate key (0) | 2022.03.25 |
springboot- hadoop hive 설정 (0) | 2021.11.12 |
gson 필드에 어노테이션으로 필드 지정 (0) | 2021.09.13 |
bit AND 연산 구현 (0) | 2021.08.19 |