Hi guys,

I've just noticed a problem with my 1.6.0 based application. I believe it
may be establishing a connection with AMQ for the purposes of publishing on
a topic, and then while retaining that connection, opening another
connection the next time it needs to publish. This is just a hypothesis but
after a good period of time (like a month or two), AMQ runs out of file
descriptors and complains thus:


Could not accept connection : Too many open files


Here's my Camel route:


from("direct:publishCAT21FeatureCollection").process(
                                cat21FeatureCollectionToGMLTransformer).to(
                                
"activemq-sender:topic:com.classactionpl.javaFlightTopic");



My spring config for AMQ is (activemq-receiver is defined but actually not
used by my app at the moment):


        <bean id="activeMQConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
                <property name="brokerURL"
                        value="${com.classactionpl.asterixservices.brokerurl}" 
/>
        </bean>
        <bean id="activemq-receiver"
class="org.apache.activemq.camel.component.ActiveMQComponent">
                <property name="connectionFactory" 
ref="activeMQConnectionFactory"
/>
        </bean>
        <bean id="activemq-sender"
class="org.apache.activemq.camel.component.ActiveMQComponent">
                <property name="connectionFactory">
                        <bean 
class="org.apache.activemq.pool.PooledConnectionFactory">
                                <constructor-arg 
ref="activeMQConnectionFactory" />
                        </bean>
                </property>
        </bean>


and the broker url:


com.classactionpl.asterixservices.brokerurl=failover:tcp://localhost:61616


Here's what I see in my Camel application's log file:


2009-07-09 09:47:09,607 [ActiveMQ Task  ] INFO  FailoverTransport             
- Successfully reconnected to tcp://localhost:61616
2009-07-09 09:47:25,123 [127.0.0.1:61616] WARN  FailoverTransport             
- Transport failed to tcp://localhost:61616 , attempting to automatically
reconnect due to: java.net.SocketException: Connection reset
2009-07-09 09:47:25,132 [ActiveMQ Task  ] INFO  FailoverTransport             
- Successfully reconnected to tcp://localhost:61616
2009-07-09 09:48:35,279 [127.0.0.1:61616] WARN  FailoverTransport             
- Transport failed to tcp://localhost:61616 , attempting to automatically
reconnect due to: java.io.EOFException
2009-07-09 09:48:35,291 [ActiveMQ Task  ] INFO  FailoverTransport             
- Successfully reconnected to tcp://localhost:61616
2009-07-09 09:48:35,337 [ActiveMQ Task  ] INFO  FailoverTransport             
- Successfully connected to tcp://localhost:61616
2009-07-09 09:49:35,478 [ActiveMQ Task  ] INFO  FailoverTransport             
- Successfully connected to tcp://localhost:61616
2009-07-09 09:51:28,171 [ActiveMQ Task  ] INFO  FailoverTransport             
- Successfully connected to tcp://localhost:61616
2009-07-09 09:52:55,163 [ActiveMQ Task  ] INFO  FailoverTransport             
- Successfully connected to tcp://localhost:61616


I wouldn't expect so many failovers although it might just be the
PooledConnectionFactory filling up its pool of connections.

Any ideas?

Kind regards,
Christopher
-- 
View this message in context: 
http://www.nabble.com/JMS-publish-consuming-sockets--tp24401653p24401653.html
Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.

Reply via email to