如何配置eclipselink以在swing应用程序内部直接在工作组环境内连接数据库服务器。我目前正在使用这个,但是我的应用程序在一些事务后(20-30事务之后)冻结。 我的persistence.xml是,eclipselink jpa 2.0 with j2se swing应用程序冻结
<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"/>
我通过线程转储去它显示了..
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)
.....................
也AWT线程甚至成为wainting状态
"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)
请一些身体帮我! !
莫非你的持久性相关的代码是什么?看起来你并没有重新获得已经获得的连接.. – 2011-03-30 11:07:29
EntityManagerFactory emf = Persistence.createEntityManagerFactory(“dbpers”); EntityManager em = emf.createEntityManager(); public void save(){ em.getTransaction()。begin(); em.persist(em); em.getTransaction()。commit(); } – jawath 2011-03-30 16:57:16
我使用类级别的entitymanager。我如何释放连接后,我提交保存以及如何打开新的实体管理器我必须从EntityManager创建它em = emf.createEntityManager(); ???? – jawath 2011-03-30 16:59:13