2 Replies Latest reply on Dec 21, 2015 12:25 AM by Prasanna Soundara Pandiyan

    Problem with Activemq and Fuse Fabric

    Scott Ladd Newbie

      Version: 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.