在weblogic-ejb-jar.xml中添加TransactionSynchronizationRegistry

时间:2011-12-15 08:39:10

标签: ejb-3.0 weblogic11g

我正在尝试通过EJB注入在会话bean中使用“TransactionSynchronizationRegistry”。但是,在weblogic App Server上部署期间,我收到了在weblogic-ejb-jar.xml中未正确定义“TransactionSynchronizationRegistry”的错误。我试图这样做但到目前为止没有成功。我尝试了以下操作:

<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-ejb-jar http://www.bea.com/ns/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd"
                  xmlns="http://www.bea.com/ns/weblogic/weblogic-ejb-jar">
  <weblogic-enterprise-bean>
    <ejb-name>asdas</ejb-name>
    <resource-description>
      <res-ref-name>TransactionSynchronizationRegistry</res-ref-name>
      <jndi-name>java:comp/env/TransactionSynchronizationRegistry</jndi-name>
    </resource-description>
  </weblogic-enterprise-bean>
</weblogic-ejb-jar>

1 个答案:

答案 0 :(得分:2)

我成功完成了这项工作。我正在做注射:

@Resource
TransactionSynchronizationRegistry trx;

所以我没有修改weblogic-ejb-jar.xml,而是将注入修改为:

@Resource (mappedName = "java:comp/TransactionSynchronizationRegistry")
TransactionSynchronizationRegistry trx;

有效!