论坛首页 Java企业应用论坛

weblogic和activeMQ集成的JTA问题

浏览 3843 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-03-20  
最近一个项目用到JMS。

中间件采用weblogic10,JMS实现采用activeMQ5.4,数据库采用oracle。

项目是已经成型的项目,项目中本身的事务采用JTA事务。

事务管理器配置:
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>

事务代理模板:
<bean id="hibernateTxProxy" abstract="true" lazy-init="true"
    class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager"><ref bean="transactionManager"/></property> 
        <property name="transactionAttributes">
            <props>
                <prop key="find*">PROPAGATION_SUPPORTS,readOnly</prop>
                <prop key="*">PROPAGATION_REQUIRED,+NoRollbackException,-Exception</prop>
            </props>
        </property>
</bean>

某个服务组件:(省略dbAppBPO的配置)
<bean id="dbAppBPOTx" parent="hibernateTxProxy">
        <property name="target">
            <ref bean="dbAppBPO"/>
        </property>
</bean>

当某个应用调用组件dbAppBPOTx的服务方法时,会自动开启事务,方法结束时,自动提交或回滚事务。

现在需要在这个组件中纳入JMS操作。JMS实现是activeMQ,使用了带XA的JMS连接工厂。但是实际上JMS的操作并没有加入到JTA事务中来。

请问,如何将JMS操作纳入到JTA事务中来?
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics