Atomikos Forum

cannot get JMS xa connection while running with activemq on EC2

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>
Jiunjiun Ma Send private email
Tuesday, November 06, 2012
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics