Я пытаюсь написать потоки интеграции Junits для Spring, и у меня есть мост, определенный каналу (Direct Channel), для которого я хочу проверить сообщение. Поскольку канал не публикует канал публикации, мост не получает сообщение. Я не хочу изменять канал для публикации канала публикации для целей Junit. Есть ли способ, кроме того, что он делает канал публикации?Spring Integration Junit Bridge прямой канал для testChannel
<integration:channel id="processResponseChannel1" />
<integration:channel id="processResponseChannel2" />
<integration:channel id="processResponseChannel3" />
<integration:channel id="processResponseChannel4" />
<integration:service-activator
input-channel="processResponseChannel1"
output-channel="processResponseChannel2"
ref="processResponseActivator1"/>
<integration:service-activator
input-channel="processResponseChannel2"
output-channel="processResponseChannel3"
ref="processResponseActivator2"/>
<integration:service-activator
input-channel="processResponseChannel3"
output-channel="processResponseChannel4"
ref="processResponseActivator3"/>
Я хочу, чтобы получить сообщение в processResponseChannel2 в моем JUnit и выполнять некоторые утверждения этого сообщения.
<integration:bridge input-channel="processResponseChannel2"
output-channel="testChannel"/>
<integration:channel id="testChannel">
<integration:queue/>
</integration:channel>
В JUnit, я использую testChannel.receive (5000), чтобы получить сообщение, но тест не удается. Я не хочу, чтобы processResponseChannel2 опубликовал подписку, чтобы заставить тестовый класс работать. Есть ли другой способ получить сообщение в канале processResponseChannel2.
С благодарностью Артем. Это сработало для меня. –