1) Сервер отправляет сообщение клиенту.
2) Адаптер входящего канала настроен на ожидание работы режима подтверждения "РУЧНОЙ" от потребителя.
3) Компонент «TaskBundlereceiver» реализует «ChannelAwareMessageListener», а в методе реализации я выполняю подтверждение сообщения.
Я не вижу выполнения "TaskBundlereceiver". Я что-то упускаю ?
Ниже приведены подробные сведения о конфигурации шагов, которые я объяснил.
Цените ваш вклад.
@Override
public void onMessage(org.springframework.amqp.core.Message message, Channel channel) throws Exception
{
logger.debug("In onMessage method of the channel aware listener. message =["+message.getBody().toString()+"]");
channel.basicAck(message.getMessageProperties().getDeliveryTag(), true);
}
Конфигурация XML:
<!-- Channel that receives the task bundle from the server for execution -->
<int:channel id="fromKServerChannel"/>
<int-amqp:inbound-channel-adapter id="taskBundleReceiverAdapter"
channel="fromKServerChannel"
error-channel="taskBundleErrorChannel"
acknowledge-mode="MANUAL"
expose-listener-channel="true"
queue-names="kanga_task_queue"
connection-factory="connectionFactory"
concurrent-consumers="20"/>
<int:chain input-channel="fromKServerChannel" output-channel="nullChannel">
<int:service-activator ref="taskBundleReceiver" method="onMessage"/>
<int:service-activator ref="taskBundleExecutor" method="executeBundle"/>
</int:chain>