Как динамически остановить управляемый сообщениями адаптер, чтобы прекратить получать сообщения? - PullRequest
0 голосов
/ 04 июня 2019
   <control-bus input-channel ="inboundChannel/>
    <channel id ="inboundChannel"/>
    <message-driven-channel-adapter id="inAQueue" channel="inboundChannel" 
    auto-startup="false" container="DefaultContainer"/>
    <service-activator input-channel="inboundChannel" ref="Something" 
    method="abc"/>

inboundChannel.send (MessageBuilder.withPayload ("@ inAQueue.stop ()"). Build ();

inboundChannel.send (MessageBuilder.withPayload ( "@ inAQueue.start ()") построить ().);

But my service activator class receive this message and throws class cast exception that string can not be cast to jmstextMessage.

И я не уверен, правильно ли я пытаюсь или нет.

1 Ответ

0 голосов
/ 04 июня 2019

У вас есть 2 подписчика на inboundChannel - управляемый сообщениями адаптер и управляющая шина. Сообщения будут распространяться в режиме круговой проверки.

Шина управления должна подписаться на свой собственный канал, на который отправляется управляющее сообщение.

...