启用事务时,camel activemq组件在ec2上挂起实例

时间:2012-11-06 04:35:29

标签: transactions amazon-ec2 jms activemq

我在ec2上运行了activemq。当我在没有启用JMS事务的情况下运行我的测试时,测试工作正常。但是,一旦启用了事务,就不会传递任何消息,测试就会挂起。 (如果我在我的本地activemq上运行相同的设置,它就可以了。)我想知道当我使用activemq并启用事务时,我是否需要设置一些特殊内容。有没有人尝试过这种组合?

谢谢, JJ

P.S。我的骆驼配置片段如下:

<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${jdbcDriver}"/>
    <property name="username" value="${jdbcUserName}"/>
    <property name="password" value="${jdbcPassword}"/>
    <property name="url" value="${jdbcUrl}"/>
    <property name="initialSize" value="${jdbcMaxPoolSize}"/>
</bean>

<bean id="jmsConnectionFactory"
      class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL" value="${activeMQBrokerURL}"/>
</bean>

<bean id="pooledConnectionFactory"
      class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
    <property name="maxConnections" value="8" />
    <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="10"/>
</bean>

<bean id="transactionManager" class="org.springframework.jms.connection.JmsTransactionManager">
    <property name="connectionFactory" ref="pooledConnectionFactory"/>
</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"/>

    <!--
    <property name="connectionFactory" ref="pooledConnectionFactory"/>
    <property name="configuration" ref="jmsConfig"/>
    -->
</bean>

0 个答案:

没有答案