Диагностика задержки соединения EclipseLink? - PullRequest
1 голос
/ 27 марта 2012

Я использую сервер GlassFish 3.1.2, а мое веб-приложение использует 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, чтобы я рассказал больше о том, чего он ждет?

UPDATE:

Вот мой файл 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>

1 Ответ

1 голос
/ 27 марта 2012

Если вы запускаете kill или ctrl break на окнах, Java должна выводить текущие потоки, чтобы вы могли видеть, что они ожидают. Или приостановить поток в отладчике.

Включите ваш файл persistence.xml. Проверьте размер пула подключений и убедитесь, что ваша сеть может правильно обращаться к вашей базе данных. Сколько классов в вашем jar-файле? Вы пытались отключить ткачество или перечисление классов?

...