EDIT: Вот сущность, показывающая мой журнал. Оказывается, что есть ReceiveMessage
, а затем preSend
на inputChannel
:Как использовать переходник с поддержкой канала sqs-message-spring-integration-aws
https://gist.github.com/louisalexander/04e7d95835521efdd15455c98075e2ea
Извинения для будучи настолько плотным, но я не могу показаться, чтобы выяснить, как правильно использовать в sqs-message-driven-channel-adapter
В мой файл контекста, я настроив его так:
<int-aws:sqs-message-driven-channel-adapter
id="my-message-driven-adapter" sqs="sqs" queues="some-queue-of-mine"
max-number-of-messages="5" visibility-timeout="200" wait-time-out="10"
send-timeout="2000" channel="inputChannel" />
Я наблюдаю, что сообщения правильно делает его в some-queue-of-mine
(путем удаления вышеуказанного бита кода и отправки сообщений в очередь). Затем я перезапускаю свой сервер, включив адаптер, управляемый сообщениями, и я заметил, что все сообщения потребляются из очереди, но куда они пошли? : -/
Мое ожидание, что сообщения будут направляться в DirectChannel
имени inputChannel
:
<int:channel id="inputChannel"/>
что у меня есть service-activator
потребляя от следующим образом:
<int:service-activator ref="myConsumer"
method='execute' input-channel="inputChannel" output-channel="outputChannel">
<int:request-handler-advice-chain>
...
</int:request-handler-advice-chain>
</int:service-activator>
Но, конечно же, Я никогда не вижу myConsumer
вызова. Я полагаю, что мое понимание того, как работает механизм MessageProducer
, является недостаточным. Может кто-то, пожалуйста, исправьте мое мышление, предоставив тривиальный пример проводки XML?
Я предлагаю вам включить DEBUG для категории «org.springframework.integration» и попытаться выяснить, что происходит в журналах. Или просто поделитесь этим с нами, когда считаете, что ваши сообщения должны идти в 'inputChannel'. –
Я отредактировал мой вопрос, чтобы поставить gist, показывающий отладчик o.s.integration –
Извините, в вашем вопросе никого нет. –