Как начать принимать сообщения от Kafka только после полного запуска приложения в OpenShift. Я использую Spring Boot 2.2.2, Spring Kafka 2.3.4 и OpenShift 4. Есть идея создать контроллер REST, который будет запускать Kafka по вызову.
@RestController("/kafka")
public class KafkaController {
private final KafkaListenerEndpointRegistry endpointRegistry;
@Autowired
public KafkaController(KafkaListenerEndpointRegistry endpointRegistry) {
this.endpointRegistry = endpointRegistry;
}
@GetMapping(value = "/start")
public ResponseEntity<String> startupKafka() {
try {
endpointRegistry.getListenerContainer("listener").start();
return new ResponseEntity<>("listener successfully started", HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
Но я не понимаю, как заставить OpenShift вызывать эту конечную точку после запуска модуля.