Код: Выделить всё
@KafkaListener(
topics = "${kafka.consumers.foo.schema.topicName}",
groupId = "${spring.kafka.group-id}",
autoStartup = "${kafka.consumers.foo.autoStartup}",
concurrency = "${kafka.consumers.foo.concurrency}",
containerFactory = "kafkaListenerContainerFactory"
)
public void consumeEvent(final ConsumerRecord events) {
final DomainEvents event = events.value().record;
final int action = event.getAction();
CompletionStage result = switch (action) {
case EventAction.CREATE -> onCreate(event);
case EventAction.UPDATE -> onUpdate(event);
case EventAction.DELETE -> onDelete(event);
default -> completedStage(null);
};
result.whenComplete((unused, ex) -> {
if (ex != null) {
logger.error("Error handling event: {}", ex.getMessage(), ex);
}
});
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... but-intern