Я пытаюсь настроить прослушиватель Spring Batch для отправки сообщения в Spring Integration Gateway для событий StepExecution.Как настроить StepExecutionListener с интеграцией с Spring DSL
Следующая ссылка объясняет, как настроить это с XML
Как это может быть настроено с помощью Spring Integration DSL? Я не нашел способа настроить шлюз с сервисным интерфейсом с помощью DSL.
На данный момент я работал над этим, реализуя фактический StepExecutionListener и получая это, а затем вызывающий интерфейс, который аннотируется с помощью @MessagingGateway (вызывающий соответствующий метод @Gateway), чтобы получить сообщение на канал. И затем я устанавливаю поток DSL Integration для этого канала.
Есть ли более простой способ использования DSL, избегая этого обходного пути? Есть ли способ подключить прослушиватель пакетов непосредственно к шлюзу, например, можно использовать конфигурацию XML?
Приветствия, Менно
Привет, Артем, спасибо за подробный ответ. Невозможно ли добавить способ указания интерфейса службы на GatewayEndpointSpec, так что недавно добавленный метод eGateway() EIP можно было бы использовать для настройки шлюза и соответствующего сервисного интерфейса? – Menno
Нет, потому что '.gateway()' играет ту же роль, что и '' внутри '', и это середина потока. Когда '@ MessagingGateway' является мостом POJI из вашего кода в поток интеграции Spring, используя только метод invocation и DI. Не смешивайте проблемы. В любом случае вам понадобится «вызов метода» из прослушивателя шагов партии. Поэтому любые изменения в '.gateway()' вам не помогут, так как именно ваше пакетное задание запускает метод вызова потока на интерфейсе. –
Да, я вижу вашу точку зрения. Спасибо, что поняли это. – Menno