У меня есть эта конфигурация:
spring:
cloud.stream.bindings:
input-product-created:
content-type: application/json
destination: output-product-management
input-product-deleted:
content-type: application/json
destination: output-product-management
И правильные методы с обработчиком:
@StreamListener(Channels.PRODUCT_CREATED)
public void inputProductCreated(ProductCreatedEvent event) {
productService.createFrom(event.getProductDto());
}
@StreamListener(Channels.PRODUCT_DELETED)
public void inputProductDeleted(ProductDeletedEvent event) {
productService.delete(event.getProductId());
}
По какой-то причине вызывается только первый метод (я проанализировал производитель и он правильно генерирует события создания / удаления). Я предполагаю, что проблема заключается в нескольких событиях в одном месте назначения. Как правильно их дифференцировать?