小编Vij*_*van的帖子

如何使用Spring AMQP/Spring集成通过程序确认消息

1)服务器向客户端发送消息.

2)入站通道适配器配置为等待来自用户的"手动"确认模式操作

3)"TaskBundlereceiver"bean正在实现"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);
    }
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

spring-integration spring-amqp

4
推荐指数
1
解决办法
7399
查看次数

标签 统计

spring-amqp ×1

spring-integration ×1