【问题标题】:How to read from Queue in READ ONLY MODE in Spring Integration如何在 Spring Integration 中以只读模式从队列中读取
【发布时间】:2014-03-27 10:09:44
【问题描述】:

Spring集成的消息监听器启动时,正在拉取消息并从源队列中删除,如何停止从源队列中删除消息?

【问题讨论】:

    标签: jms spring-integration spring-jms


    【解决方案1】:

    让你的监听器transactional 回滚事务,当来自队列的消息将在你手中时:

    <int-jms:message-driven-channel-adapter channel="input"
            connection-factory="connectionFactory"
            transaction-manager="transactionManager"
            destination-name="MY-QUEUE"/>
    
    <int:publish-subscribe-channel id="input" />
    
    <int:service-activator input-channel="input" order="1" ref="service" output-channel="output"/>
    
    <int:outbound-channel-adapter channel="input" order="1"   
            expression="T(org.springframework.transaction.interceptor.TransactionAspectSupport)
                 .currentTransactionStatus().setRollbackOnly()"/>
    

    但这里需要了解您将如何处理队列中剩余的消息:它在下一次轮询时可供侦听器使用...

    【讨论】:

    • 感谢 Artem ... 是否有任何书籍或教程可以清楚地给出示例?
    • 不确定。我的想法只是经验。我没有读过这方面的书。对不起。
    猜你喜欢
    • 1970-01-01
    • 2014-07-03
    • 2017-05-08
    • 2016-11-29
    • 2018-07-31
    • 1970-01-01
    • 2020-11-05
    • 2018-09-23
    • 2019-10-16
    相关资源
    最近更新 更多