Java 当使用jnlp启动时,Hibernate在尝试连接到db时冻结

Java 当使用jnlp启动时,Hibernate在尝试连接到db时冻结,java,hibernate,jnlp,Java,Hibernate,Jnlp,我已经创建了一个可运行的jar,可以使用“java-jar abc.jar”或jnlp启动它: <?xml version="1.0" encoding="utf-8"?> <jnlp spec="6.0+" codebase="host" href="abc.jnlp"> <information> <title>abc</title> <vendor>def</vendor>

我已经创建了一个可运行的jar,可以使用“java-jar abc.jar”或jnlp启动它:

<?xml version="1.0" encoding="utf-8"?>
<jnlp
  spec="6.0+"
  codebase="host"
  href="abc.jnlp">
  <information>
    <title>abc</title>
    <vendor>def</vendor>
    <homepage href=""/>
    <description>def</description>
    <description kind="short">def</description>
    <icon href="images/swingset2.jpg"/>
    <icon kind="splash" href="images/splash.gif"/>
    <association mime-type="application-x/swingset2-file"  extensions="swingset2"/> 
    <shortcut online="false">
      <desktop/>
      <menu submenu="My Corporation Apps"/>
    </shortcut>
  </information>
  <security>
      <all-permissions/>
  </security>
  <resources>
    <j2se version="1.6+" java-vm-args="-esa -Xnoclassgc"/>
    <jar href="lib/abc.jar"/>
  </resources>
  <application-desc />
</jnlp> 

abc
def
def
def
但是,只要调用“Persistence.createEntityManagerFactory()”,应用程序就会在使用jnlp启动时冻结。“java-jar”启动的应用程序运行良好

最后一个日志输出是: [org.hibernate.connection.driverManager连接提供者.getConnection(driverManager连接提供者.java:132)]-打开新的JDBC连接


有什么问题吗?我在同一台pc上尝试了这两种方法,甚至jnlp和JAR都位于pc上,而不是远程服务器上,因此连接应该是可以防御的。

冻结时,打开JConsole并获取应用程序的线程转储。它应该提供一些关于死锁位置的提示。JConsole与JDK捆绑在一起。查看安装文件夹。可能是两种启动方式的安全模型不同。我预计JDBC的传出TCP连接将被阻止。