2
当我部署我的应用程序,一段时间后,我得到这个异常:GlassFish应用服务器部署和MySQLNonTransientConnectionException
javax.servlet.ServletException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
我使用的持久性单元,使用这些设置:
<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="PU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>myconnhere</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<shared-cache-mode>NONE</shared-cache-mode>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="autoReconnect" value="true"/>
</properties>
</persistence-unit>
</persistence>
哪有我避免/解决了这个问题?这是一个Java问题或MySQL配置?
我在JPA.xml中添加了<property name="autoReconnect" value="true"/>
- 正如我在SO上发现的那样。但是,这不能解决问题。 我也删除了GlassFish(3.1.2)管理中的连接池超时(设置为0)。
这个问题与JSF没有直接关系,它可以发生在任何Java Web应用程序中。 –
@LuiggiMendoza找到了解决方案? – Rob
包含完整的异常堆栈跟踪,您是否使用servlet中的JTA事务? – James