Spring integration Spring Integration JMS消息驱动通道适配器在一定时间间隔后停止拾取消息

Spring integration Spring Integration JMS消息驱动通道适配器在一定时间间隔后停止拾取消息,spring-integration,spring-jms,Spring Integration,Spring Jms,我正在使用spring集成,使用jms int:消息驱动通道适配器从TIBCO EMS队列读取消息。我面临的问题是:在一定的时间间隔之后,比如说5-10小时(以随机间隔发生),jms通道适配器停止拾取消息,即使jms队列中有消息 下面是我的spring集成上下文: <bean id="jmsConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <pr

我正在使用spring集成,使用jms int:消息驱动通道适配器从TIBCO EMS队列读取消息。我面临的问题是:在一定的时间间隔之后,比如说5-10小时(以随机间隔发生),jms通道适配器停止拾取消息,即使jms队列中有消息

下面是我的spring集成上下文:

<bean id="jmsConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
    <property name="targetConnectionFactory" ref="connectionFactory"/>
    <property name="sessionCacheSize" value="${sessionCacheSize}"/>
    <property name="cacheProducers" value="${cacheProducers}"/>
    <property name="cacheConsumers" value="${cacheConsumers}"/>
</bean>

<bean id="jmsQueue" class="${queueClassName}">
    <constructor-arg value="${jmsQueue}" />
</bean>

<int-jms:message-driven-channel-adapter
    id="jmsMessageDrivenAdapter" connection-factory="jmsConnectionFactory" channel="jmsListenerChannel" destination="jmsQueue"
    error-channel="integrationErrorChannel" max-concurrent-consumers="${maxConcurrentConsumers}" auto-startup="${jms.autostart}"/>


我有启动/停止jmsMessageDrivenAdapter的功能,适配器可以在拾取消息时随时启动/停止,但此时,启动/停止功能也不起作用。请建议

这似乎是重复的(但不同的贡献者,所以我将在这里再次回答)

这通常是由于下游流中的某些组件不间断地挂起容器线程(例如,从套接字读取时没有超时,没有数据到达)


要进行诊断,请在挂起发生时进行线程转储(例如jstack),以了解侦听器容器线程正在执行的操作。

这似乎是重复的(但不同的贡献者,因此我将在这里再次回答)

这通常是由于下游流中的某些组件不间断地挂起容器线程(例如,从套接字读取时没有超时,没有数据到达)

要进行诊断,请在挂起发生时进行线程转储(例如jstack),以了解侦听器容器线程正在做什么