首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring监听器超时

Spring监听器超时
EN

Stack Overflow用户
提问于 2017-06-13 09:23:30
回答 2查看 3.6K关注 0票数 0

我需要处理SpringAMQP侦听器超时功能,即我们从producer发送消息,SpringAMQP的使用者侦听器线程接收消息,但是如果说执行自己和挂起需要花费大量时间,这最终会导致侦听器线程无法使用。

那么,是否有任何方法可以让Spring提供任何使用者超时设置,以便在给定超时时间后再次释放侦听器线程?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-13 12:29:13

实际上,您可以使用spring提到超时,下面是如何实现的。

代码语言:javascript
复制
<bean id="connectionFactory"  class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
    <property name="connectionTimeout"      value="1000" />
    <property name="concurrency"            value="16" /> <!-- in milliseconds -->
    <property name="recoveryInterval"       value="5000" />
</bean>

注意:如果您有有限的使用者计数,并且使用手动ack,并且由于某种原因没有发送ack信号,则可能会发生超时;这意味着您持有线程而不释放它,这也会影响您的性能。

更多在这里

  1. 文档
  2. api接口
票数 3
EN

Stack Overflow用户

发布于 2017-06-13 14:20:48

如果线程被卡在代码中,容器就无法释放它。如果是在可中断代码中,则可以中断线程。

如果它被不间断的代码卡住了,你就倒霉了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44517371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档