Как запустить потребителя Kafka после запуска Openshift Pod? - PullRequest
0 голосов

Как начать принимать сообщения от 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 вызывать эту конечную точку после запуска модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...