2011-08-18 82 views
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> 

什么事情possbily导致这个?

PS:我使用Glassfish 3.1.43,EJB 3.0

回答

0

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

1

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