我目前正在尝试将我的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>
答案 0 :(得分:0)
确保您的persistence.xml位于META-INF文件夹下。
答案 1 :(得分:0)
我发现不再允许向JSP注入资源。