保持JMS会话始终处于活动状态

时间:2018-06-15 09:43:32

标签: java spring tomcat jms spring-jms

我们需要知道如何使Jms队列始终处于活动状态。每当收到JMS队列的请求都应该选择该消息。 如果tomcat服务器空闲了一段时间没有在jms队列上收到特定时间或日期的请求,那么第二天或一段时间之后任何请求都登陆到JMS队列,它不会在队列中选择该消息。我们需要重启tomcat服务器来选择消息并进行处理。 JMS属性

<bean class="org.springframework.jndi.JndiTemplate" id="remoteJndiTemplate">
<property name="environment">
    <props>
        <prop key="java.naming.provider.url">jnp://10.0.0.0:2222</prop>
        <prop key="java.naming.factory.url.pkgs">org.jnp.interfaces:org.jboss.naming</prop>
        <prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
    </props>
</property>

JMS队列接收消息:

<from id="_from2" uri="jms:queue:TestTocrmQueue"/>

1 个答案:

答案 0 :(得分:0)

这通常是由某些网络组件静默丢弃空闲连接引起的。

大多数代理都有一些通过心跳等保持空闲连接的机制。这不是JMS规范的一部分,因此您必须浏览供应商的文档以了解如何配置它;它通常被称为心跳或保持活动。