2011-12-15 56 views
1

我试图在会话bean中通过EJB注入使用'TransactionSynchronizationRegistry'。但是,在部署到weblogic App Server期间,我得到错误信息'TransactionSynchronizationRegistry'在weblogic-ejb-jar.xml中未正确定义。我试图做到这一点,但目前为止没有成功。我试图做到以下几点:在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> 
+0

`@Resource TransactionSynchronizationRegistry tsr`应该足够了。请显示完整的错误输出。 – 2011-12-15 15:27:51

回答

2

我设法使这项工作。我在做注射这样:

@Resource 
TransactionSynchronizationRegistry trx; 

因此,而不是修改的weblogic-ejb-jar.xml中,我修改了注入成为这样:

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

它的工作!