I knew that using servicemix-jms with jca(jencks,ra,...) would should care of session, pooling, and so on.
However it still didn't take care of the bad session with jms(unstable network environment). Isn't there any way to keep the jms session valid (periodically check jms session and refresh them-drop bad connection and make new ones) ?? I'vd test it out with following setup where jms provider's network was down and up again. ----- <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:jms="http://servicemix.apache.org/jms/1.0" xmlns:echo="http://servicemix.apache.org/samples/beantest" xmlns:jmsdemo="urn:metabuild:esb:jmsdemo"> <jms:endpoint service="jmsdemo:jmsservice" endpoint="broker" targetService="jmsdemo:jmsstore" role="consumer" connectionFactory="#amqJmsFactory" destinationStyle="queue" jmsProviderDestinationName="hello.world" defaultMep="http://www.w3.org/2004/08/wsdl/in-only" /> <jms:endpoint service="jmsdemo:jmsstore" endpoint="endpoint" role="provider" destinationStyle="queue" jmsProviderDestinationName="hello.world" connectionFactory="#amqJmsFactory2" /> <bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <constructor-arg value="tcp://testy:61616"/> </bean> </property> </bean> <bean id="transactionManager" class="org.jencks.factory.TransactionManagerFactoryBean"/> <bean id="connectionTracker" class="org.jencks.factory.ConnectionTrackerFactoryBean"> <property name="geronimoTransactionManager" ref="transactionManager" /> </bean> <bean id="connectionManager" class="org.jencks.factory.ConnectionManagerFactoryBean"> <property name="transactionManager" ref="transactionManager"/> <property name="poolingSupport"> <bean class="org.jencks.factory.PoolingSupportFactoryBean"> <property name="poolMaxSize" value="10" /> <property name="poolMinSize" value="0" /> <property name="connectionMaxWaitMilliseconds" value="5000" /> <property name="connectionMaxIdleMinutes" value="2" /> <property name="allConnectionsEqual" value="false" /> </bean> </property> <property name="connectionTracker" ref="connectionTracker"/> </bean> <bean id="amqJmsResourceAdapter" class="org.apache.activemq.ra.ActiveMQResourceAdapter"> <property name="serverUrl" value="tcp://localhost:61616"/> </bean> <bean id="amqJmsManagedConnectionFactory" class="org.apache.activemq.ra.ActiveMQManagedConnectionFactory"> <property name="resourceAdapter" ref="amqJmsResourceAdapter"/> </bean> <bean id="amqJmsFactory" class="org.jencks.factory.ConnectionFactoryFactoryBean"> <property name="managedConnectionFactory" ref="amqJmsManagedConnectionFactory"/> <property name="connectionManager" ref="connectionManager"/> </bean> <bean id="amqJmsResourceAdapter2" class="org.apache.activemq.ra.ActiveMQResourceAdapter"> <property name="serverUrl" value="tcp://testy:61616"/> </bean> <bean id="amqJmsManagedConnectionFactory2" class="org.apache.activemq.ra.ActiveMQManagedConnectionFactory"> <property name="resourceAdapter" ref="amqJmsResourceAdapter2"/> </bean> <bean id="amqJmsFactory2" class="org.jencks.factory.ConnectionFactoryFactoryBean"> <property name="managedConnectionFactory" ref="amqJmsManagedConnectionFactory2"/> <property name="connectionManager" ref="connectionManager"/> </bean> </beans> Bummer wrote: > > How do you keep the jms connection pool valid when the network is not > stable. > For the jdbc, I can keep the db pool valid with DBCP. > I am wondering how I can achieve that in jms (in smx) ? > > Thanks. > -- View this message in context: http://www.nabble.com/jms-connection-pool-monitor-tf4128896s12049.html#a11757664 Sent from the ServiceMix - User mailing list archive at Nabble.com.
