我的RCP程序我有,我想有一个以上的复制我的PC上运行的问题。一审运行速度非常理想。 如果我开始二审,一切都很好,直到我要访问数据库。

使用此代码:

..    
Map properties = new HashMap();
            properties.put("javax.persistence.jdbc.driver", dbDriver);
            properties.put("javax.persistence.jdbc.url", dbUrl);
            properties.put("javax.persistence.jdbc.user", dbUser);
            properties.put("javax.persistence.jdbc.password", dbPass);
            try {
                factory = Persistence.createEntityManagerFactory(
                        PERSISTENCE_UNIT_NAME, properties);
            } catch (Exception e) {
                System.out.println(e);
            }
            em=factory.createEntityManager(); // the second instance stops here
    ...

用的一个的persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
    <persistence-unit name="default">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 

        <class>myclasshere</class>


        <properties>
            <property name="eclipselink.ddl-generation" value="create-tables" />
            <property name="eclipselink.ddl-generation.output-mode" value="database" />     

            <property name="eclipselink.jdbc.read-connections.min" value="1" />
            <property name="eclipselink.jdbc.write-connections.min" value="1" />
            <property name="eclipselink.jdbc.batch-writing" value="JDBC" />
            <property name="eclipselink.logging.level" value="SEVERE" />
            <property name="eclipselink.logging.timestamp" value="false" />
            <property name="eclipselink.logging.session" value="false" />
            <property name="eclipselink.logging.thread" value="false" />    
        </properties>
    </persistence-unit>
</persistence>

在程序档位/不存在于第二个实例继续超出此步骤:

发射= factory.createEntityManager();

调试由步执行程序步骤给我看,没有任何反应在这一点上。也许程序运行到超时。我还没有被用于wainting超过1分钟....

您是否有什么可能导致这个摊位的威力任何线索?

有帮助吗?

解决方案

在调试器,停止所有线程(选择该应用程序并点击暂停按钮),然后检查哪个线程挂起在Object.wait()。其中一人必须与你的问题。检查的EclipseLink的实例的堆栈跟踪来找出哪一个。这可能给你一个线索是什么要去。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top