尝试迁移到JBoss 7.1.1时EntityManager为null

时间:2012-07-31 10:35:54

标签: java migration jboss7.x entitymanager

我目前正在尝试将我的Web应用程序从JBoss 5.1迁移到JBoss 7.1.1。我将实体管理器注入到我的jsp文件中,但实体管理器始终为空。

的persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <!-- SSIS2 Productive Database --> 
    <persistence-unit name="SSIS2" transaction-type="JTA">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <jta-data-source>java:/SSIS2DSprod</jta-data-source>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="false"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> 
        </properties>
    </persistence-unit>
</persistence> 

JSP文件中的实体管理器注入示例:

<%! @PersistenceContext(unitName = "SSIS2")
    public EntityManager em;

    @Resource
    UserTransaction utx;
%>

部署本身不包含任何错误,那么实体管理器的问题是什么?它在JBoss 5.1上没有问题。

编辑: standalone.xml中的数据源:(删除了ip-address和SSID)

<datasource jta="true" jndi-name="java:/SSIS2DSprod" pool-name="SSIS2DSprod" enabled="true" use-java-context="true" use-ccm="true">
                    <connection-url>jdbc:oracle:thin:@ip-address:1531:SSID</connection-url>
                    <driver>oracle</driver>
                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                    <pool>
                        <prefill>true</prefill>
                        <use-strict-min>false</use-strict-min>
                        <flush-strategy>FailingConnectionOnly</flush-strategy>
                    </pool>
                    <security>
                        <user-name>ssis2</user-name>
                        <password>ssis2</password>
                    </security>
                </datasource>

2 个答案:

答案 0 :(得分:0)

确保您的persistence.xml位于META-INF文件夹下。

答案 1 :(得分:0)

我发现不再允许向JSP注入资源。