Jms 如何在Spring集成中以只读模式读取队列

Jms 如何在Spring集成中以只读模式读取队列,jms,spring-integration,spring-jms,Jms,Spring Integration,Spring Jms,当Spring integration中的消息侦听器启动时,它正在从源队列中提取消息并将其删除,如何停止从源队列中删除消息?使您的侦听器具有事务性和回滚事务性,此时来自队列的消息将在您手中: <int-jms:message-driven-channel-adapter channel="input" connection-factory="connectionFactory" transaction-manager="transactionManager"

当Spring integration中的消息侦听器启动时,它正在从源队列中提取消息并将其删除,如何停止从源队列中删除消息?

使您的侦听器具有事务性和回滚事务性,此时来自队列的消息将在您手中:

<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。。。有没有明确给出例子的书或教程?不确定。我的想法就是效忠。我没有读过关于这件事的书。很抱歉