Problem with Activemq and Fuse Fabric
sladd Oct 1, 2013 4:03 PMVersion: 5.8.0.redhat-60024
I have a container running a middleware project which worked fine in previous versions of Fuse ESB and ServiceMix (migrated as we became more familiar). I've run into a bit of a wall with one of the errors I'm receiving. The container appears to be functional, however; I'm getting a continuous flood of:
2013-10-01 12:42:36,049 | WARN | 5.80:62002@39359 | FailoverTransport | | ? | ? | 157 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Transport (tcp://localhost:62002) failed, reason: java.io.EOFException, not attempting to automatically reconnect |
I'm also watching it eat up memory while idling. My configuration is as follows:
<camelContext id="fs-middleware-impl" trace="true" | ||
xmlns="http://camel.apache.org/schema/blueprint"> | ||
<route id="fs-middleware-impl-route" errorHandlerRef="transactionsErrorHandler"> | ||
<from uri="activemq:transactions" /> | ||
<transacted ref="required" /> | ||
<bean ref="backendImpl" method="submitDocument" /> | ||
</route> |
</camelContext>
<!-- Add Dead Letter Error Handler to Camel Route - -->
<bean id="transactionsErrorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder">
<property name="deadLetterUri" value="activemq:transactions.dlq" /> | |
<property name="redeliveryPolicy" ref="transactionsRedeliveryPolicyConfig" /> |
</bean>
<!-- Configure re-delivery attempts to be made on routing steps that fail -->
<bean id="transactionsRedeliveryPolicyConfig" class="org.apache.camel.processor.RedeliveryPolicy">
<property name="maximumRedeliveries" value="3" /> | |
<property name="redeliveryDelay" value="5000" /> |
</bean>
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="$[esb.app.brokerurl]" /> | |
<property name="userName" value="$[esb.app.brokerurl.user]" /> | |
<property name="password" value="$[esb.app.brokerurl.pass]" /> |
</bean>
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
init-method="start" destroy-method="stop"> | |
<property name="maxConnections" value="8" /> | |
<property name="maximumActiveSessionPerConnection" value="500" /> | |
<property name="connectionFactory" ref="jmsConnectionFactory" /> |
</bean>
<bean id="jmsConfig" class="org.apache.camel.component.jms.JmsConfiguration">
<property name="connectionFactory" ref="pooledConnectionFactory" /> | |
<property name="concurrentConsumers" value="1" /> |
</bean>
<bean id="required" class="org.apache.camel.spring.spi.SpringTransactionPolicy">
<property name="transactionManager" ref="jmsTransactionManager" /> | |
<property name="propagationBehaviorName" value="PROPAGATION_REQUIRED" /> |
</bean>
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="configuration" ref="jmsConfig" /> | |
<property name="transacted" value="true" /> | |
<property name="transactionManager" ref="jmsTransactionManager" /> |
</bean>
<bean id="jmsTransactionManager"
class="org.springframework.jms.connection.JmsTransactionManager"> | |
<property name="connectionFactory" ref="jmsConnectionFactory" /> |
</bean>
<service id="backendService" ref="backendImpl" auto-export="interfaces" />
My guess would be some kind of weird thread issue with stopping before the reconnect, but would appreciate some outside eyes.