【发布时间】:2014-09-22 19:46:00
【问题描述】:
我正在尝试配置一个不会与嵌入式 ActiveMQ 代理超时的稳定连接。我正在使用 Camel+ActiveMQ+Spring 在服务器端进行配置。在我的代理配置中,我有以下配置,我尝试在传输连接器上设置 connectionTimeOut 、 wireFormat.maxInactivityDuration=0 但没有奏效,我正在使用 StompClient 在客户端连接ws://localhost:61614/stomp?useInactivityMonitor=false。连接已建立,但在 300000 毫秒后超时,这似乎是默认的空闲时间,但无法将其关闭,请帮助在哪个级别配置以确保连接不会丢失:
<broker id="broker" brokerName="myBroker" useShutdownHook="false" useJmx="true" dataDirectory="activemq-data"
xmlns="http://activemq.apache.org/schema/core">
<transportConnectors>
<!-- vm transport for intra-jvm communication-->
<transportConnector name="vm" uri="vm://myBroker?transport.useInactivityMonitor=false"/>
<!-- tcp for external communication -->
<transportConnector name="tcp" uri="tcp://localhost:61616?transport.useInactivityMonitor=false"/>
<transportConnector name="ws" uri="ws://localhost:61614??transport.useInactivityMonitor=false"/>
<transportConnector name="stomp" uri="stomp://localhost:61613?transport.useInactivityMonitor=false"/>
</transportConnectors>
</broker>
<bean id="jmsConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="vm://myBroker?create=false&waitForStart=5000" />
</bean>
<bean id="pooledConnectionFactory"
class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="12" />
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="idleTimeout" value="120000" />
</bean>
<bean id="jmsConfig"
class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="pooledConnectionFactory"/>
<property name="concurrentConsumers" value="12"/>
<property name="idleConsumerLimit" value="120000"/>
</bean>
<bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig"/>
</bean>
在断开连接时将其记录在日志中:
WebSocketConnectionRFC6455 DEBUG ClosedOut WebSocketServletConnectionRFC6455 p=WebSocketParserRFC6455@3565d22 state=OPCODE buffer=null g=WebSocketGeneratorRFC6455@309b59a6 closed=false buffer=-1 1000 Idle for 300074ms > 300000ms
【问题讨论】:
标签: spring websocket apache-camel activemq stomp