java - 如何将 Spring Integration Consumer 配置为事件驱动?

标签 java spring jms publish-subscribe spring-integration

如何配置 Spring Integration 以使用消息驱动的消费者。 通过以下配置,我的消费者正在轮询消息,但我无法弄清楚如何使其成为事件驱动而不是轮询..

 <bean id="dataQueue" class="org.apache.activemq.command.ActiveMQQueue">
        <constructor-arg name="name" value="${jms.data.queue.name}" />
    </bean>

    <jms:message-driven-channel-adapter channel="dataInputChannel" destination="dataQueue"  />
    <int:channel id="dataInputChannel" />    
    <int:channel id="persistDataChannel" />
    <int:channel id="processDataChannel" />

    <int:recipient-list-router id="customRouter" input-channel="dataInputChannel" timeout="10000" ignore-send-failures="true" apply-sequence="true">
        <int:recipient channel="persistDataChannel"/>
        <int:recipient channel="processDataChannel"/>
    </int:recipient-list-router> 

最佳答案

我不知道你的意思;它是事件驱动的。线程在客户端库的代码中阻塞,直到消息到达或发生接收超时。如果您担心底层监听器容器在 TRACE 调试下看到的 Activity ,只需增加其 receiveTimeout 即可。

关于java - 如何将 Spring Integration Consumer 配置为事件驱动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13357510/

相关文章:

java - 扩展 AppCompatActivity 时,Android ListView 不会填充并抛出错误

spring - Spring Web Flux(响应式(Reactive))功能路由与Kotlin一起无法正常工作

c++ - 在 Java EE Web 应用程序中打开 TCP 套接字

java - 我可以将应用程序热部署到 Tomcat 中吗?

java - JMS list 文件,jar 的特定顺序是否重要

jakarta-ee - MDB 和 JMS 之间的区别

java - 尝试与 Android Intent 共享图像

java - 当我将文本从 java servlet 加载到 JTextPane 时,为什么会丢失换行符?

java - ANT_HOME 设置正确但无法运行 ant

java - 完全忽略带有 AspectJ 的 Spring/@Transactional