我使用的是GlassFish 3.1.2服务器,我的web应用程序使用EclipseLink 3.1.2作为JPA。GlassFish在本地运行,MySQL服务器是远程的。
问题是,当我启动服务器时,服务器挂起了很长时间,日志中的最后一行是下面一行。
[#|2012-03-26T14:37:31.765-0700|INFO|glassfish3.1.2|org.eclipse.persistence.session.file:/Users/alan/NetBeansProjects/MyApp/target/MyApp/WEB-INF/classes/_com.myapp|_ThreadID=10;_ThreadName=Thread-3;|EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461|#]在这里等待2-3分钟后,它通常会继续,然后一切正常。我的网络应用程序和数据库的工作方式是我所期望的。
如果NetBeans试图启动服务器,它通常会超时,认为启动失败。如果我使用asadmin命令启动域,则需要同样的时间,但它成功了。
我家里有一个相同的系统,可以连接到同一台MySQL服务器,而不是这样做的。
那么,我如何让EclipseLink告诉我更多关于它在等待什么的信息呢?
更新:
这是我的persistence.xml文件--没什么了不起的。是否有特定于EclipseLink的命令可用于帮助?
<?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="com.myapp" transaction-type="JTA">
<jta-data-source>jdbc/MyApp</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
</persistence-unit>
发布于 2012-03-27 14:31:42
如果在windows上运行杀死或ctrl中断,Java应该转储当前线程,这样您就可以看到它正在等待什么。或暂停调试器中的线程。
包括你的persistence.xml。检查连接池的大小,以及您的网络是否能够正确地访问数据库。jar文件中有多少类?您是否尝试过禁用、编织或列出类?
https://stackoverflow.com/questions/9880365
复制相似问题