Ich verwende einen GlassFish 3.1.2 Server und meine Webanwendung verwendet EclipseLink 3.1.2 als JPA-Provider. GlassFish läuft lokal, der MySQL-Server ist remote.Diagnose einer EclipseLink Verbindungsverzögerung?
Das Problem ist, dass, wenn ich meinen Server starte der Server für eine lange Zeit hängt, mit der folgenden Zeile als das letzte, was im Protokoll.
[#|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|#]
Nachdem Sie hier 2-3 Minuten gewartet haben, wird es normalerweise weitergehen und dann handeln, wie alles normal ist. Meine Web-App arbeitet mit der Datenbank so, wie ich es erwarten würde.
Wenn NetBeans versucht, den Server zu starten, wird meistens eine Zeitüberschreitung auftreten, da der Start fehlgeschlagen ist. Wenn ich die Domäne mit dem Befehl asadmin starte, dauert es genauso lange, aber es ist erfolgreich.
Ich habe ein identisches System zu Hause, das mit dem gleichen MySQL-Server verbindet, der dies nicht tut.
Also wie sage ich EclipseLink, um mir mehr darüber zu erzählen, worauf es wartet?
UPDATE:
Hier ist meine persistence.xml Datei - nichts Bemerkenswertes. Gibt es EclipseLink-spezifische Befehle, die verwendet werden könnten, um zu helfen?
<?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>
Die letzte geloggte Zeile _vor_ der Verzögerung muss nicht der Grund sein. Vielleicht ist der Protokolleintrag nach der Verzögerung die Ursache. –