eclipselink jpa 2.0与j2se swing应用程序冻结

jaw*_*ath 2 connection swing jpa freeze eclipselink

如何配置eclipselink在swing应用程序中使用它直接连接到工作组环境中的数据库服务器.我目前正在使用这个,但我的申请在一些交易后(20-30交易后)冻结.我的persistence.xml是,

<property name="javax.persistence.jdbc.url" value="jdbc:mysql://192.0.0.1:3306/myhotel"/>
      <property name="javax.persistence.jdbc.password" value="123"/>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="javax.persistence.jdbc.user" value="root"/>
Run Code Online (Sandbox Code Playgroud)

我经历了线程转储它显示..

SwingWorker-pool-1-thread-10" daemon prio=6 tid=0x03143400 nid=0xbec in Object.wait() [0x052ff000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.persistence.sessions.server.ConnectionPool.acquireConnection(ConnectionPool.java:102)
    - locked <0x27d6d7e0> (a org.eclipse.persistence.sessions.server.ConnectionPool)
    at org.eclipse.persistence.sessions.server.ServerSession.allocateReadConnection(ServerSession.java:477)
    at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:525)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:205)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:191)
.....................
Run Code Online (Sandbox Code Playgroud)

甚至变得昏暗的状态

"AWT-EventQueue-0" prio=6 tid=0x02c6d400 nid=0xfcc in Object.wait() [0x033ae000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.persistence.sessions.server.ConnectionPool.acquireConnection(ConnectionPool.java:102)
Run Code Online (Sandbox Code Playgroud)

请一些身体帮助我!!!

Jam*_*mes 5

默认连接池大小为32个连接.如果您有> 32个活动事务,则下一个请求将等待直到释放连接.你在你的EntityManager上调用close()并在你的事务上调用()或rollback()吗?

包括完整的persistence.xml.

如果超出池大小,您还可以配置连接池等待时间以触发异常,

"eclipselink.jdbc.connections.wait-timeout"或"eclipselink.connection-pool.default.wait"(在2.2中)

或者增加游泳池的大小,

"eclipselink.jdbc.connections.max"或"eclipselink.connection-pool.default.max"(在2.2中)