In diesem Abschnitt werden die bekannten Probleme in Sun GlassFish Enterprise Server v3 einschließlich ggf. verfügbarer Abhilfen erläutert.
[JDK-Problem] Leistungseinbuße durch Aufruf von setSoLinger oder setReuseAddress (Problem 7109)
[JDK-Problem] Null-Zeiger-Ausnahmefehler bei Neustart des Servers (Problem 8299)
[JDK-Problem] E/A-Ausnahmefehler: ungültiges Argument bei Langlebigkeitstest (Problem 7529)
[JDK-Problem] EPoll-Null-Zeiger-Ausnahmefehler bei Startvorgang (Problem 9472)
[JDK-Problem] Richaccess: java.io.IOException: ungültiges Argument von doSelect (Problem 8573)
Datei mit dem Windows-Installationsprotokoll ist nicht lesbar (Problem 4881)
com.sun.xml.wss.NonceManager.getInstance löst einen Null-Zeiger-Ausnahmefehler aus (Problem 11138)
Eigenständiges Update Tool schlägt unter Solaris mit Segmentierungsfehler fehl (Problem 11222)
Änderung am Speicherort der Protokolldatei erfordert einen Neustart des Servers (Problem 11142)
[Update Center] Zugriff auf Nichtbenutzerverzeichnis schlägt fehl (Update Center-Problem 1583)
[EclipseLink] Probleme mit ElementCollections von Embeddables (EclipseLink-Problem 296606)
Senden von JMS-Meldungen zwischen Systemen nicht möglich (Problem 11254)
Eingebettete ACC übermäßig strikt bei aktuellem Kontext-ClassLoader des Threads (Problem 11427)
Konfigurationsproblem des EJB-Zeitgeberdienstes für MySQL (Problem 11428)
Der Unterbefehl deploy schlägt über sicheren Server fehl (Problem 11439)
Bei Aufruf der Methode setSoLinger oder setReuseAddess verschlechtert sich die Leistung, und der folgende Ausnahmefehler wird ausgelöst:
[#|2009-01-26T00:33:56.325-0800|WARNING|sun-appserver9.1| javax.enterprise.system.container.web|_ThreadID=17; _ThreadName=SelectorReaderThread-8084; _RequestID=11ae0030-c392-4217-8408-cfa7efe0a879;|setSoLinger exception java.net.SocketException: Invalid argument |
Dieses Problem wird durch ein Problem mit der JDK-Software verursacht. Dieses Problem wird in JDK Version 7 behoben.
Weitere Informationen finden Sie im Problembericht.
Keine.
Beim Neustart von Enterprise Server wird manchmal ein Null-Zeiger-Ausnahmefehler ausgelöst.
SEVERE: doSelect exception java.lang.NullPointerException |
Dieses Problem wird durch ein Problem mit der JDK-Software verursacht. Dieses Problem wird in JDK Version 7 behoben.
Weitere Informationen finden Sie im Problembericht.
Keine.
Während eines HTTP-Langlebigkeitstests wird nach 42 Stunden der folgende Ausnahmefehler ausgelöst:
[#|2009-04-05T17:41:26.537-0700|SEVERE|glassfish|javax.enterprise.system.core| _ThreadID=15;_ThreadName=Thread-1;|doSelect exception java.io.IOException: Invalid argument |
Auf die Instanz und die Anwendung kann während der Ausführung weiterhin zugegriffen werden.
Dieses Problem wird durch ein Problem mit der JDK-Software verursacht. Dieses Problem wird in JDK Version 7 behoben.
Weitere Informationen finden Sie im Problembericht.
Keine.
Beim Startvorgang löst Enterprise Server einen Null-Zeiger-Ausnahmefehler aus:
java.lang.NullPointerException at sun.nio.ch.Util.atBugLevel(Util.java:326) at sun.nio.ch.SelectorImpl.<init>(SelectorImpl.java:40) at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:47) |
Dies bezieht sich auf Grizzly und ist ein JDK 6-Problem. Dieses Problem wird in JDK 7 behoben.
Weitere Informationen finden Sie im Problembericht.
Keine. Grizzly versucht dieses Problem zu umgehen, der Fehler tritt jedoch möglicherweise trotzdem auf.
Der folgende Ausnahmefehler wird ausgegeben:
[#|2009-06-20T06:05:57.942-0700|SEVERE|glassfish| com.sun.grizzly.config.GrizzlyServiceListener| _ThreadID=21;_ThreadName=Thread-2;|doSelect IOException java.io.IOException: Invalid argument |
Dies ist ein JDK-Problem, dessen Behebung für JDK 1.6.0_18 geplant ist.
Weitere Informationen finden Sie im Problembericht.
Erhöhen Sie die maximale Anzahl an Dateideskriptoren auf 10.000 oder mehr (der Standardwert unter Solaris beträgt 64.000). Installieren Sie JDK 1.6.0_18, sobald diese Version verfügbar wird.
Wenn das Verzeichnis /applications einer Domäne den Zugriff beschränkt oder wenn Sie eine Verzeichnisbereitstellung aus einem Verzeichnis verwenden, das Beschränkungen unterliegt, kann der Server die Dateien im erweiterten Verzeichnis nicht lesen. Ein Fehler vom Typ NullProcessException wird während der Bereitstellung angezeigt.
Weitere Informationen finden Sie im Problembericht.
Ändern Sie die Dateizugriffseinstellungen für solche Verzeichnisse, um dem Server die Berechtigung zum Lesen der Verzeichnisinhalte zu erteilen.
Die Datei time-stamp-install.log kann nicht gelesen werden, da alle Zeilen, die in die Datei geschrieben wurden, zu einem einzigen langen String zusammengekettet wurden.
Weitere Informationen finden Sie im Problembericht.
Verwenden Sie einen anderen Editor und öffnen Sie die Datei mit dem Installationsprotokoll manuell im Verzeichnis %TEMP%.
Überwachungsstatistiken zu neu hinzugefügten virtuellen Servern sind erst nach dem Neustart des Servers verfügbar.
Weitere Informationen finden Sie in den Berichten zu Problem 6238 und Problem 6422.
Starten Sie nach dem Hinzufügen eines virtuellen Servers den Server neu, um Überwachungsdaten für den virtuellen Server anzuzeigen.
Die Option -l zum Verschieben von Protokolldateien wird ignoriert, wenn sie in Kombination mit den Optionen -a und -s verwendet wird, und die Protokolldateien werden im Standardverzeichnis erstellt.
Weitere Informationen finden Sie im Problembericht.
Keine.
Einige Features funktionieren unter Windows Vista nicht einwandfrei, wenn die Benutzerkontensteuerung (UAC) aktiviert ist. Ein Beispiel ist die Administration Console, die nicht gestartet werden kann.
Weitere Informationen finden Sie im Problembericht.
Deaktivieren Sie die UAC, und starten Sie den Computer neu.
Wenn beim Testen eines JAX-RPC-Webdiensts der GlassFish-Nachrichtensicherheitsanbieter aktiviert ist, wird in den Serverprotokollen der folgende Ausnahmefehler ausgelöst:
[#|2009-11-23T11:16:58.375+0005|SEVERE|glassfishv3.0| javax.enterprise.resource.webservices.rpc.server.http|_ThreadID=25;_ ThreadName=http-thread-pool-8080-(2);|caught throwable java.lang.RuntimeException: com.sun.enterprise.security.jauth.AuthException |
Der Standardwert der Eigenschaft nonce funktioniert nicht.
Weitere Informationen finden Sie im Problembericht.
Wenn Sie Nachrichtensicherheit mit JAX-RPC-Webdiensten verwenden möchten, deaktivieren Sie die Eigenschaft nonce in der Konfiguration. Ausführliche Schrittanweisungen für diese Abhilfe finden Sie im Problembericht.
Nach Abschluss der Installation wird die Startmenügruppe für Enterprise Server nicht angezeigt. Wenn Sie sich ab- und dann erneut anmelden, wird die Menügruppe zwar angezeigt, ist jedoch leer.
Weitere Informationen finden Sie im Problembericht.
Keine.
Der Befehl asadmin get -m "server.*" gibt alle Überwachungsdaten zurück, die sich auf den jeweiligen Server beziehen. Wenn viele Anwendungen bereitgestellt werden, handelt es sich dabei um eine ziemlich große Datenmenge, deren Rückgabe viel Zeit in Anspruch nimmt. Möglicherweise tritt auf dem Client eine Zeitüberschreitung mit der folgenden clientseitigen Fehlermeldung auf:
./asadmin get --monitor=true "server.*" I/O Error: Read timed out Command get failed. |
Weitere Informationen finden Sie im Problembericht.
Minimieren Sie die an den Client zurückgegebene Datenmenge.
Führen Sie den Befehl asadmin list -m "server.*" aus, der nur die Elemente der obersten Ebene zurückgibt.
Wählen Sie das übergeordnete Element aus, für das Details benötigt werden, und verwenden Sie dieses als Filter. Beispiel:
> ./asadmin list -m "server.*" ... server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-cache server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods. create-int-int-[Lorg\.spec\.jappserver\.supplier\.helper\.ComponentOrder server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods. findByPrimaryKey-java\.lang\.Integer server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.generateXml server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.getEJBLocalHome ... >./asadmin get -m "server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.*" ... server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove. methodstatistic-name = MethodStatistic server.applications.SPECjAppServer.supplier\.jar.POEnt.bean-methods.remove. methodstatistic-starttime = 1259604209775 ... |
Das eigenständige Update Tool, das mit dem Befehl updatetool gestartet wurde, schlägt unter Solaris mit einem Segmentierungsfehler fehl, wenn Add-On-Komponenten installiert werden.
Weitere Informationen finden Sie im Problembericht.
Stellen Sie sicher, dass Ihr System die Patch-Anforderungen für das eigenständige Update Tool erfüllt, wie in den Versionshinweisen zu Update Center definiert.
Die Update Tool-Funktionalität in der Administration Console verwendet eine andere Java-basierte Update Center-API und ist von diesem Problem nicht betroffen.
Wenn eine Ruby-Anwendung im Kontext-Root '/' bereitgestellt und dann die Administration Console aufgerufen wird, generiert die Ruby-Anwendung einen 404-Fehler.
Weitere Informationen finden Sie im Problembericht.
Keine.
Wenn Java Web Start zum Starten eines Anwendungsclients verwendet wird, werden die im Anwendungsclient vorhandenen verwalteten Beans sämtlich nicht erkannt.
Weitere Informationen finden Sie im Problembericht.
Starten Sie den Anwendungsclient mit dem Skript appclient. Verwaltete Beans im Anwendungsclient werden normal unterstützt.
Wenn Sie das appclient-Skript auf Mac OS X-Systemen aufrufen, auf denen Java von Apple installiert ist, wird das folgende Stackprotokoll zweimal angezeigt (hier sind nur die ersten paar Zeilen dargestellt):
Intentionally suppressing recursive invocation exception! java.lang.IllegalStateException: recursive invocation at java.lang.ClassLoader.initSystemClassLoader(ClassLoader.java:1394) at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1377) at sun.security.jca.ProviderConfig$1.run(ProviderConfig.java:64) ... |
Weitere Informationen finden Sie im Problembericht.
Keine erforderlich.
Trotz der Warnmeldungen wird der Client erfolgreich gestartet und normal ausgeführt. Diese Fehlermeldungen resultieren aus einem Problem in der Apple Java-Implementierung.
Ein Problem tritt auf, wenn alle folgenden Bedingungen zutreffen:
Bei der Anwendung handelt es sich um ein EAR, das einen Anwendungsclient enthält.
Das EAR wird in einem Verzeichnis bereitgestellt.
Das EAR enthält ein Anwendungsclient-Modul myAppClient.jar , das - da es sich um eine Verzeichnisbereitstellung handelt - vorab in myAppClient_jar erweitert wird. (In diesem Beispiel ist myApp der Name des EAR. Der Name ist beliebig.)
Versuche zum Starten des Anwendungsclients schlagen fehl, und es wird die folgende Fehlermeldung ausgegeben, da eine auf dem Server generierte Datei im falschen Serververzeichnis abgelegt wird und eine andere generierte Datei überschreibt:
java.lang.ClassNotFoundException:(main-class-for-the-client) |
Weitere Informationen finden Sie im Problembericht.
Ändern Sie den Namen des Anwendungsclients in einen anderen Namen als myAppClient.jar . Im Einzelnen:
Bearbeiten Sie die Datei myApp/META-INF/application.xml so, dass die Deklaration des Clients <java>myClient.jar</java> lautet. Sie können jeden beliebigen Namen mit Ausnahme von myAppClient.jar verwenden.
Benennen Sie das Verzeichnis myApp/myAppClient_jar in myApp/myClient_jar um. Beachten Sie, dass der Name des Client-Unterverzeichnisses mit dem Anwendungsclient-URI in der Datei application.xml identisch sein muss und .jar durch _jar ersetzt wird.
Stellen Sie die Anwendung bereit:
asadmin deploy --retrieve localdir myApp |
Führen Sie den Anwendungsclient aus:
appclient -client localdir/myAppClient.jar |
Änderungen, die an den Serverprotokollwerten auf der Registerkarte "Allgemein" der Seite "Einstellungen für Protokollierfunktion" vorgenommen werden, werden nicht sofort wirksam.
Weitere Informationen finden Sie im Problembericht.
Starten Sie den Server neu. Wenn an den Werten dieser Seite Änderungen vorgenommen werden, ist stets ein Neustart des Servers erforderlich.
Die bei der Installation erstellten Protokolldateien können nicht durch Klicken auf Links auf der Seite "Zusammenfassung" geöffnet werden, die nach Abschluss des Installationsvorgangs im grafischen Installationsprogramm angezeigt wird.
Weitere Informationen finden Sie im Problembericht.
Rufen Sie die Dateien manuell auf. Die Namen der Installationsprotokoll- und Zusammenfassungsdateien lauten timestamp-install.log und timestamp-install-summary.html. Auf Linux- und Mac-Systemen werden diese Dateien im Verzeichnis $TMP generiert.
Wenn Sie bei einer Neuinstallation von Enterprise Server (mit Update Tool) dasselbe Installationsverzeichnis und die gleichen Standardeinstellungen wie zuvor verwenden und Update Tool mit dem Befehl updatetool aufrufen, wird die Meldung ausgegeben, dass Update Tool nicht installiert ist, und Sie werden gefragt, ob das Tool installiert werden soll. Dieses Problem tritt nur auf Windows-Systemen auf.
Weitere Informationen finden Sie im Problembericht.
Entfernen Sie nach der Deinstallation das noch vorhandene Verzeichnis .org* manuell, bevor Sie die Neuinstallation durchführen.
Dieser Fehler tritt periodisch auf Windows- und Mac OS-Systemen auf. pkg(5) funktioniert auf bestimmten Systemen manchmal nicht.
Weitere Informationen finden Sie im Update Center-Problembericht.
Keine.
In der Inline-Hilfe und der CLI-Online-Dokumentation ist im Feld "XPowered-By" die Servlet-Version 2.4 angegeben. Die richtige Version ist Servlet 3.0.
Weitere Informationen finden Sie im Problembericht.
Keine.
Wenn embedded mit glassfish-embedded-all-3.0-b73.jar verwendet wird, schlägt die Bereitstellung mit folgender Fehlermeldung fehl:
SEVERE: WEB9051: Error trying to scan the classes at /private/var/folders/CV/CVhj8DvqEwGK5bdJKK9TaE TI/-Tmp- /gfembed6991712842235699248tmp/applications/xwiki-enterprise-web-2.0/ WEB-INF/lib/activation-1.1.jar for annotations in which a ServletContainerInitializer has expressed interest java.util.zip.ZipException: error in opening zip file |
Dieses Problem tritt auf, weil embedded einen Ordner mit Pluszeichen (+) verwendet und Pluszeichen in einem Pfad beim Decodieren des Pfads in Leerzeichen " " konvertiert werden.
Weitere Informationen finden Sie im Problembericht.
Es wurde eine Systemeigenschaft hinzugefügt, die Ihnen das Platzieren temporärer Verzeichnisse ermöglicht. Es handelt sich um die Eigenschaft glassfish.embedded.tmpdir; diese kann so festgelegt werden, dass das temporäre Domänenverzeichnis nicht im Benutzerverzeichnis platziert wird.
create-service kann unter Solaris keinen Dienst ohne AS_ADMIN_USER in passwordfile erstellen.
Weitere Informationen finden Sie im Problembericht.
Keine.
Enterprise Server verfolgt überwachbare Objekte mithilfe einer Baumstruktur. Innerhalb dieser Struktur steht die folgende Ansicht nicht zum Abrufen von statistischen Daten für Verbindungspools zur Verfügung:
server.connector-service.resource-adapter-name .connection-pool-name .* oder server.jms-service.connection-factories. connection-factory-name.* (für jms-ra-bezogene Pools).
Weitere Informationen finden Sie im Problembericht.
Verwenden Sie die Ansicht server.resources.*, um die statistischen Daten zu erhalten.
Weitere Informationen zu Monitoring finden Sie in Kapitel 8, Administering the Monitoring Service in Sun GlassFish Enterprise Server v3 Administration Guide.
Wenn Weaving aktiviert ist, kann es bei Aktualisierung einer Elementsammlung von Embeddables potenziell zur Auslösung eines Null-Zeiger-Ausnahmefehlers kommen.
Weitere Informationen finden Sie im EclipseLink-Problembericht.
Es gibt zwei Abhilfemaßnahmen:
Fügen Sie dem Embeddable die Annotation @ChangeTracking(DEFFERED) hinzu, und setzen Sie die Eigenschaft eclipselink.weaving.internal auf false, oder
Setzen Sie in Persistenz-XML die folgenden Eigenschaften auf false: eclipselink.weaving.changetracking und eclipselink.weaving.internal.
Nach dem Start der Domäne und dem Zugriff auf localhost:4848 werden die folgenden Meldungen im Serverprotokoll angezeigt:
[#|2009-11-27T16:21:57.091+1100|INFO|glassfishv3.0| javax.enterprise.system.container.web.com.sun.enterprise.web| _ThreadID=20;_ThreadName=Thread-1;|Created virtual server server|#] |
[#|2009-11-27T16:21:57.091+1100|INFO|glassfishv3.0| javax.enterprise.system.container.web.com.sun.enterprise.web| _ThreadID=20;_ThreadName=Thread-20;|Created virtual server server|#] |
Diese Meldungen erwecken den Eindruck, dass der virtuelle Server, server , zweimal gestartet wurde. Dies ist jedoch nicht der Fall. Virtuelle Server werden nur einmal gestartet, die Meldungen werden jedoch mehrmals protokolliert.
Weitere Informationen finden Sie im Problembericht.
Keine.
Das Debuggen von JPA ist schwierig, weil nur eingeschränkt Meldungen vom Server zur Verfügung gestellt werden.
Weitere Informationen finden Sie im Problembericht.
Fügen Sie die Eigenschaft org.eclipse.persistence.session.level=INFO zur Datei logging.properties hinzu. Dann können Sie die EclipseLink-Protokollfunktionen mit der Administration Console steuern.
Es ist keine EJB-Interoperabilität für Remote-EJBs möglich, wenn sich die Ziel-EJB auf demselben Host befindet (andere Enterprise Server-Domäne oder andere Enterprise Server v3-Instanz).
Weitere Informationen finden Sie im Problembericht.
Setzen Sie die folgende Eigenschaft in jvm-options:
-Dorg.glassfish.orb.iiop.orbserverid=:
Bei der Installation unter Windows Vista und Windows 7 reagiert das grafische Installationsprogramm von Enterprise Server bei 41 % nicht mehr. Dieses Problem tritt nicht bei jedem Installationsversuch auf.
Weitere Informationen finden Sie im Problembericht.
Dieses Problem hängt mit der automatischen Abstimmungsfunktion in Windows Vista und Windows 7 zusammen, die standardmäßig aktiviert ist.
Wenn das System bei der anfänglichen Installation von Enterprise Server oder beim Hinzufügen von Paketen oder Anwenden von Updates nicht mehr reagiert, schränken Sie die automatische Abstimmungsfunktion ein, oder deaktivieren Sie sie.
Standardmäßig ist localhost als Hostname für den JMS-Dienst auf Enterprise Server vorgegeben. Wenn Sie von einem anderen System aus auf den JMS-Dienst zugreifen möchten, müssen Sie den Hostnamen ändern. Sie können entweder den tatsächlichen Hostnamen oder 0.0.0.0 angeben.
Weitere Informationen finden Sie im Problembericht.
Führen Sie zum Vornehmen der Änderung einen der folgenden Schritte aus:
Erweitern Sie in der Administration Console die Knoten "Konfiguration", "Java Message Service" und "JMS-Hosts", wählen Sie default_JMS_host aus, und bearbeiten Sie das Feld "Host", oder
Verwenden Sie einen asadmin-Unterbefehl wie den folgenden:
asadmin set server-config.jms-service.jms-host.default_JMS_host.host="0.0.0.0" , oder
asadmin set server-config.jms-service.jms-host.default_JMS_host.host="hostname"
Wenn Enterprise Server mit dem grafischen Installationsprogramm installiert wird, wird die Installation zwar erfolgreich abgeschlossen, es wird jedoch nur der oberste GlassFish v3-Eintrag zum Windows-Systemmenü hinzugefügt, der zudem leer ist. Dieses Problem tritt sowohl mit dem englischsprachigen Installationsprogramm als auch mit den lokalisierten Versionen auf.
Weitere Informationen finden Sie im Problembericht.
Keine.
mysql wird in der Liste unterstützter Datenbanken in --dbvendorname auf der Man Page für den Befehl deploy nicht aufgeführt. Das ist nicht korrekt. MySQL ist eine unterstützte Datenbank und sollte aufgeführt werden.
Weitere Informationen finden Sie im Problembericht unter .
Keine.
Die ACC erwartet als aktuellen Kontext-Klassenladeprogramm des Threads einen ACCClassLoader. Dies ist übermäßig restriktiv. Diese Bedingung wird zwar für das Skript appclient sowie beim Start von Java Web Start erfüllt, aber möglicherweise nicht im Fall einer Einbettung. Andere Funktionen innerhalb der ACC erfordern als Klassenladeprogramm einen URLClassLoader (oder eine Instanz einer Unterklasse von URLClassLoader), aber das Ladeprogramm muss kein ACCClassLoader sein.
Weitere Informationen finden Sie im Problembericht unter .
Es gibt zwei Abhilfemaßnahmen:
Nehmen Sie die Einstellung -Djava.system.class.loader=org.glassfish.appclient.client.acc.ACCClassLoader vor, oder
instanziieren Sie in Ihrem Java-Programm einen ACCClassLoader und legen Sie ihn unter Verwendung von Thread.currentThread().setContextClassLoader als aktuelles Kontext-Klassenladeprogramm des Threads fest, bevor Sie die eingebetteten ACC-Klassen und -Oberflächen verwenden.
Erstellen und Speichern des EJB-Timers als Benutzer in MySQL ist möglich, aber beim Konfigurieren des EJB-Zeitgeberdienstes für MySQL tritt folgender Ausnahmefehler auf (SQLException beim Ausführen der Anweisung):
"CREATE TABLE EJB__TIMER__TBL (TIMERID VARCHAR(255) NOT NULL, BLOB BLOB(64000), INITIALEXPIRATIONRAW BIGINT, SCHEDULE VARCHAR(255), INTERVALDURATION BIGINT, OWNERID VARCHAR(255), STATE INTEGER, LASTEXPIRATIONRAW BIGINT, PKHASHCODE INTEGER, CREATIONTIMERAW BIGINT, CONTAINERID BIGINT, PRIMARY KEY (TIMERID))": com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BLOB BLOB(64000), INITIALEXPIRATIONRAW BIGINT, SCHEDULE VARCHAR(255), INTERVALDU' at line 1|#] |
Weitere Informationen finden Sie im Problembericht unter .
Vergewissern Sie sich, dass der für den Zeitgeber-Pool angegebene datasource-classname eine XA-DataSource darstellt.
Für MySQL spezifische Schritte:
Entpacken Sie glassfishv3/glassfish/lib/install/applications/ejb-timer-service-app.war.
Fügen Sie Folgendes zu WEB-INF/classes/__ejb_timer_mappings.xml nach <persistence-unit-metadata> hinzu:
<persistence-unit-defaults> <delimited-identifiers/> </persistence-unit-defaults>
Verpacken Sie die Datei WEB-INF/classes/__ejb_timer_mappings.xml neu.
(Dieser Schritt ist nur erforderlich, wenn die aktuelle Installation den EJB-Zeitgeberdienst bereits verwendet hat.) Erstellen Sie EJB__TIMER__TBL manuell in der Datenbank und verwenden Sie dabei diese Anweisung:
CREATE TABLE `EJB__TIMER__TBL` (`TIMERID` VARCHAR(255) NOT NULL, `BLOB` BLOB(64000), `INITIALEXPIRATIONRAW` BIGINT, `SCHEDULE` VARCHAR(255), `INTERVALDURATION` BIGINT, `OWNERID` VARCHAR(255), `STATE` INTEGER, `LASTEXPIRATIONRAW` BIGINT, `PKHASHCODE` INTEGER, `CREATIONTIMERAW` BIGINT, `CONTAINERID` BIGINT, PRIMARY KEY (`TIMERID`))
Der Unterbefehl deploy schlägt über einen sicheren Server fehl, es sei denn, die Option --secure wird verwendet.
Weitere Informationen finden Sie im Problembericht unter .
Verwenden Sie die Option --secure beim Ausführen des Unterbefehls deploy über einen sicheren Server.
Eines der Berechtigungszertifikate im Enterprise Server-Truststore ist am 7. Januar 2010 abgelaufen. Das Zertifikat ist cacerts.jks Beim Start wird eine Fehlermeldung angezeigt, die auf den Ablauf des Zertifikats hinweist:
Version: V1 Subject: OU=Secure Server Certification Authority, O="RSA Data Security, Inc.", C=US Signature Algorithm: MD2withRSA, OID = 1.2.840.113549.1.1.2 Key: SunPKCS11-Solaris RSA public key, 1000 bits (id 17891456, session object) modulus: public exponent: Validity: [From: Tue Nov 08 19:00:00 GMT-05:00 1994, To: Thu Jan 07 18:59:59 GMT-05:00 2010] Issuer: OU=Secure Server Certification Authority, O="RSA Data Security, Inc.", C=US SerialNumber: [ 02ad667e 4e45fe5e 576f3c98 195eddc0] |
Weitere Informationen finden Sie im Problembericht unter .
Das abgelaufene Berechtigungszertifikat wurde mit Update 18 von Java SE 6 entfernt. Es wird bei einem zukünftigen Update auch aus dem Enterprise Server-Truststore entfernt.
Sie können die Fehlermeldungen ignorieren und das Update durchführen oder die Fehlermeldungen beseitigen. Damit Sie keine weiteren Fehlermeldungen erhalten, entfernen Sie das Zertifikat mit dem Schlüsseltool aus dem Entreprise Server-Truststore:
=> cd domains/domainX/config => cp cacerts.jks cacerts.jks.save => keytool -delete -keystore cacerts.jks -alias verisignserverca Enter keystore password: |
Um zu verhindern, dass das abgelaufene Zertifikat in später erstellten Domänen wieder auftaucht, sollten Sie es auch aus dem Vorlagen-Truststore entfernen.
=> cd glassfish/lib/templates => cp cacerts.jks cacerts.jks.save => keytool -delete -keystore cacerts.jks -alias verisignserverca Enter keystore password: |
Weitere Informationen über das Schlüsselspeicherpasswort finden Sie in den Informationen über Master-Passwörter und Schlüsselspeicher unter Authentication in Sun GlassFish Enterprise Server v3 Administration Guide.