Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 오류교정
- hexagonal architecture #layer architecture #아키텍쳐 #헥사고날
- Queue
- 스택
- maven #메이븐 #빌드 #build #lifecycle
- 최단거리
- 1045
- 암스트롱 수
- 페이지전환
- 새로운 방
- kafka connect #debizium #transform
- Floyd 알고리즘
- 1108
- Floyd
- kafka #consumer #autoStartup
- 2613
- JAVA #필수값
- vue
- 알고리즘
- 태그를 입력해 주세요.
- 코드그라운드
- 정올
- 토마토(고)
- 1037
- 페이지 전환
- kafka #ackmode #manual #acknowledge
- 큐
- 새로운방
- 김씨만행복한세상
- sql #오라클 #oracle #sequence #foreach #insert #mybatis
Archives
- Today
- Total
별집사의 IT세상
[JAVA] kafka sub 리스너 자동 실행 방법 본문
반응형
@KafkaListener(id = "아이디",
topics = "토픽명",
groupId = "sampleGroup",
containerFactory = "kafkaListenerContainerFactoryForList",
autoStartup = "false")
서비스에서 autoStartup을 false로 지정하면된다.
리스너 실행 수동조작방법은 컨트롤러를 따로 생성해서 endpointRegistry 이용!
@RestController
public class HandleController {
@Autowired
private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
@GetMapping(path = "/start")
public String start() {
MessageListenerContainer listenerContainer = kafkaListenerEndpointRegistry.getListenerContainer("아이디");
listenerContainer.start();
return "started Sub listening";
}
@GetMapping(path = "/stop")
public String stop() {
MessageListenerContainer listenerContainer = kafkaListenerEndpointRegistry.getListenerContainer("아이디");
listenerContainer.stop();
return "stopped Sub listening";
}
}
여러개의 sub을 id 할당해서 하려면, path뒤에 id를 받으면 된다.
@RestController
public class HandleController {
@Autowired
private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
@GetMapping(path = "/start/{아이디}")
public String start(@PathVariable String 아이디) {
MessageListenerContainer listenerContainer = kafkaListenerEndpointRegistry.getListenerContainer("아이디");
listenerContainer.start();
return "started Sub listening";
}
@GetMapping(path = "/stop/{아이디}")
public String stop(@PathVariable String 아이디) {
MessageListenerContainer listenerContainer = kafkaListenerEndpointRegistry.getListenerContainer("아이디");
listenerContainer.stop();
return "stopped Sub listening";
}
}
postman 등을 이용해 실행하면 성공
다른 리스너가 켜져있으면 로그 확인하기가 힘들었는데 서버를 재기동 할 필요없이 작업할 수 있어서 개발시간이 줄어든다.
반응형
'IT > Kafka' 카테고리의 다른 글
[Kafka] kafka connect transform issue 정리 (1) | 2022.09.07 |
---|---|
[Kafka] Kafka Config Ackmode (0) | 2022.09.06 |
Comments