Atomikos Forum |
|
Hi:
I am using atomikos as the transaction manager for the JMS and JDBC resources. It works find when the JMS broker (activemq) is running on my localhost. However, when I tried to use an activemq instance on EC2, the transaction just hang. There was no output from Atomikos and it just stopped there. (I had turned off atomikos and used a local transaction with the EC2 activemq and it worked so I knew it was not due to the security group setting). Had any one tried running atomikos with activemq on EC2? If there's any "hidden" port that I may have to open for it to work? I'd really appreciate any help on it. Thanks, --Jiunjiun P.S. my atomikos configuration in my spring application context is as follows: <bean id="AtomikosTransactionManager" class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close"> <property name="forceShutdown" value="false" /> </bean> <bean id="AtomikosUserTransaction" class="com.atomikos.icatch.jta.UserTransactionImp"> <property name="transactionTimeout" value="300" /> </bean> <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="transactionManager" ref="AtomikosTransactionManager" /> <property name="userTransaction" ref="AtomikosUserTransaction" /> </bean> <bean id="jmxTransactionService" class="com.atomikos.icatch.admin.jmx.JmxTransactionService"> <property name="heuristicsOnly" value="true"/> </bean> <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"> <property name="beans"> <map> <entry key="atomikos:name=tx-service"> <ref bean="jmxTransactionService"/> </entry> </map> </property> <property name="server"> <ref bean="mbeanServer"/> </property> </bean> <bean id="dataSource" class="com.atomikos.jdbc.AtomikosDataSourceBean" init-method="init" destroy-method="close"> <property name="uniqueResourceName" value="DataSourceTransaction"/> <property name="xaDataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlXADataSource"/> <property name="minPoolSize" value="2"/> <property name="maxPoolSize" value="5"/> <property name="xaProperties"> <props> <prop key="user">${jdbcUserName}</prop> <prop key="password">${jdbcPassword}</prop> <prop key="URL">${jdbcUrl}</prop> </props> </property> <property name="testQuery" value="select 1"/> </bean> <bean id="jmsXAConnectionFactory" class="org.apache.activemq.ActiveMQXAConnectionFactory"> <property name="brokerURL" value="${activeMQBrokerURL}"/> </bean> <bean id="xaPooledConnectionFactory" class="com.atomikos.jms.AtomikosConnectionFactoryBean" init-method="init" destroy-method="close"> <property name="uniqueResourceName" value="activemq"/> <property name="xaConnectionFactory" ref="jmsXAConnectionFactory"/> <property name="localTransactionMode" value="false"/> <property name="maxPoolSize" value="8"/> </bean> <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="transacted" value="true"/> <property name="transactionManager" ref="transactionManager"/> <property name="concurrentConsumers" value="5"/> </bean> |