2016-09-19 5 views
0

При единичном тестировании я пытаюсь связать канал по умолчанию с интеграцией Spring с очередным каналом, так как я хочу проверить правильность объема потока сообщений в этом канале.пружинный интегральный мост прямой канал в очередь Канал

<int:filter input-channel="prevChannel" output-channel="myChannel"> 
<int:bridge input-channel="myChannel" output-channel="aggregateChannel"> 
// the reason I have above bridge is I want to check the amount of message after filter. 
// I cannot check prevChannel since it is before filtering, and I cannot check aggregateChannel 
// because it has other processing branch 

// in test xml I import above normal workflow xml and added below configuration to 
// redirect message from myChannel to checkMyChannel to checking. 


<int:bridge input-channel="myChannel" 
      output-channel="checkMyChannel"/> 

<int:channel id="checkMyChannel">  
    <int:queue/> 
</int:channel> 

Я autowired checkMyChannel в моем тестовом модуле но checkMyChannel.getqueuesize() всегда возвращает 0.

Есть ли STH я сделал не так?

ответ

0

получил это фиксировано, я должен объявить мой канал, чтобы быть публикации-подписки-канал

How to test Spring Integration Это один помогает, для моего случая есть состояние гонки с тех пор. «Обычный канал с несколькими абонентами будет круговым ...»

0

Вы пропустили, чтобы поделиться с нами тестовым чехлом. У нас нет всей картины. И похоже, что у вас там есть расы. Кто-то опросит все ваши сообщения от checkMyChannel, прежде чем вы начнете утверждать, что getqueuesize().

В наших тестах мы не используем <poller> для таких случаев. Мы используем PollableChannel.receive(timeout) вручную.

+0

Отредактировано. пожалуйста, подтвердите, спасибо – edi

+0

Ваш код не работает, потому что я не знаю, что такое 'gateway.publish()', и вы не объяснили, почему вам нужно '' –

+0

Wow! Существует также 'aggregateChannel'. Итак, у вас есть два '' для одного и того же 'myChannel', который выглядит как' DirectChannel' с помощью стандартного циклического балансира. Итак, теперь ваша конфигурация сложнее. Не знаете, какую помощь вы ищете здесь, но трудно помочь кому-то, кто не сотрудничает ... –

Смежные вопросы