Я создал шлюз и канал уведомлений опроса, который шлюз использует для маршрутизации сообщений. Я хочу, чтобы сервисный активатор опросил канал и сделал свое дело. Но я не могу понять кое-что о Spring Integration.
В этом случае нам нужен бин IntegrationFlow? Не вызовет ли метод шлюза просто отправку сообщения через канал, и активатор службы может просто автоматически опрашивать, когда появляется новое сообщение?
ConfigurationClass:
@EnableIntegration
@Configuration
@IntegrationComponentScan
class IntegrationConfiguration {
@Bean
fun notificationChannel(): MessageChannel {
return MessageChannels.queue().get()
}
@Bean
fun integrationFlow(): IntegrationFlow {
TODO()
}
}
Gateway:
@MessagingGateway(defaultRequestChannel = "notificationChannel")
@Component
interface NotificationGateway {
fun sendNotification(bytes: ByteArray)
}
Услуги:
@Service
class NotificationService {
@ServiceActivator(inputChannel = "notificationChannel")
fun sendNotification(bytes: ByteArray) {
TODO()
}
}
Я новичок в Spring Integration и у меня трудные времена, так как я не могу найти понятную документацию для своего уровня знаний, особенно в Spring Integration DSL.
Моя главная проблема может заключаться в том, что я теперь понимаю использование компонента IntegrationFlow Bean