服务器上的实体管理器错误?

时间:2011-08-18 00:17:13

标签: java glassfish ejb-3.0

您好我在具有EJB 3.0持久性的glassfish服务器上开发了我的Java应用程序。在我的本地机器上,应用程序运行正常,并且完美地保存了数据。但是,当我在linux服务器上部署它时,每当我持久保存任何数据时,它都会给我这个EJB异常错误:

Caused by: Java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManagerFactory.

这是我的persistence.xml文件:

<?xml version="1.0" encoding="UTF-8" ?> 
  <persistence version="2.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_2_0.xsd">
    <persistence-unit name="MyPU" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
        <jta-data-source>jdbc/security</jta-data-source> 
        <exclude-unlisted-classes>false</exclude-unlisted-classes> 
        <properties>
            <property name="eclipselink.ddl-generation" value="create-tables" /> 
        </properties>
    </persistence-unit>
  </persistence>

可能导致这种情况的原因是什么?

PS:我正在使用Glassfish 3.1.43,EJB 3.0

2 个答案:

答案 0 :(得分:1)

您使用的数据库是什么?我将验证您在连接池中配置的用户是否有权创建表。

答案 1 :(得分:0)

我终于设法解决了!!问题是数据库连接没有正确设置!!现在我已连接到数据库并且数据已保留!!