Allgemeine Fehlermeldungen

In diesem Abschnitt werden LiveCycle-unspezifische Fehlermeldungen und Lösungen der zugrunde liegenden Probleme beschrieben.

Zu wenig Arbeitsspeicher

Dieser Typ von Fehler wird meist von einem der folgenden Probleme verursacht:

Zu wenig Threads

Es gibt viele verschiedene Thread-Typen, die jedoch grundsätzlich in zwei Kategorien unterteilt werden können: Java-Threads und native Threads. Alle in einer JVM ausgeführten Threads sind Java-Threads (Klasse java.lang.Thread innerhalb von Java). Der native Code (C++/C) erzeugt native Threads, die vom Betriebssystem geplant und verwaltet werden. Dies sind die Hauptunterschiede zwischen den beiden Typen:

  • Java-Threads werden entweder vom LiveCycle-Code, vom Anwendungsserver oder von der JVM selbst erstellt und verwaltet.

  • Betriebssystemtools (wie Systemmonitor oder Task-Manager) verfügen nur über Informationen zu nativen Threads.

Da das Betriebssystem Java-Threads nicht transparent machen kann, überwachen Sie beim Überwachen von Threads mit Betriebssystemtools wie Systemmonitor ausschließlich native Threads. Die einzige Möglichkeit, Details zu Java-Threads zu erfahren, ist das Ausführen eines Java-Thread-Dumps. Das Verfahren zum Ausgeben eines Java-Thread-Dumps hängt vom Anwendungsserver und der JVM ab. Informationen hierzu finden Sie in der Dokumentation des Herstellers.

Die Implementierung der JVM erfolgt in C/C++-Code und dieser JVM-Code ordnet Java-Threads nativen Threads zu. Die Zuordnung kann entweder 1:1 (1 Java-Thread zu 1 nativen Thread) oder n:1 (mehrere Java-Threads zu 1 nativen Thread) sein. Die Einzelheiten zur Funktionsweise dieser Zuordnung sind JVM-herstellerspezifisch, doch die 1:1-Zuordnung ist meist die Standardeinstellung. Dies bedeutet, dass jeder Java-Thread über einen entsprechenden nativen Thread verfügt. Die Anzahl der Java-Threads ist jedoch nicht begrenzt. Da aber die 1:1-Zuordnung die Regel ist und die Anzahl der nativen Threads begrenzt ist, stehen ggf. auch zu wenig Java-Threads zur Verfügung. Diese Begrenzung gilt pro Prozess (die JVM ist auch ein einzelner Prozess) und variiert je nach Betriebssystem. Sie können davon ausgehen, dass die Begrenzung sich im Tausenderbereich, aber unter 10.000 bewegt. Unabhängig von diesem Wert können mehrere Hundert Threads ein Leistungsproblem darstellen, da das Betriebssystem diese hohe Anzahl von Threads einplanen muss.

Threads und Arbeitsspeicherzuordnungen

Ein weiteres gängiges Problem bei Threads ist die Arbeitsspeicherzuordnung. Wird ein neuer Java-Thread zugewiesen, ist für dessen Stapel eine feste Menge an Arbeitsspeicher erforderlich. Dieser Thread-Stapelspeicher ist ein Parameter (Option -Xss für die Sun™-JVM), dessen Standardeinstellung „~512 KB“ beträgt. Bei 1000 Threads sind dann allein für die Stapel des Threads 500 MB Arbeitsspeicher erforderlich. Dieser Arbeitsspeicher steht dann in Konkurrenz zu allen anderen Arbeitsspeicherzuordnungen, die in der JVM erfolgen, z. B. mit den Zuordnungen von LiveCycle , wodurch es zu Problemen bei der Zuordnung von Arbeitsspeicher kommt.

Wenn die JVM in der Praxis keinen Arbeitsspeicher zuordnen oder keine Threads erzeugen kann, wird an die aufrufende Funktion eine Ausnahme vom Typ Zu wenig Arbeitsspeicher zurückgegeben. Zusammen mit dieser Ausnahme werden eine Stapelablaufverfolgung und ein Grund für die Auslösung der Ausnahme zurückgegeben. Dieser Grund muss unbedingt beachtet werden, da er weitere Hinweise auf die mögliche Fehlerursache bietet.

Der folgende Code ist ein Beispiel für eine Meldung mit zwei Fehlern und den dazugehörigen Fehlercodes:

"unable to create new native thread: java.lang.OutOfMemoryError: unable to create new native thread java.lang.OutOfMemoryError: Java heap space"

Diese Fehler bedeuten, dass die JVM aus einem der folgenden Gründe keine weiteren Threads erzeugen konnte:

  • Der prozessbezogene Thread-Grenzwert wurde erreicht.

  • Der Thread-Stapel kann nicht zugeordnet werden.

Um die exakte Ursache zu bestimmen, müssen Sie einen Thread-Dump (auch Java-Dump genannt) durchführen. Ein Thread-Dump wird in der Regel in der Datei javacore.xxxx.txt in den Protokollverzeichnissen des Anwendungsservers abgelegt. Der Thread-Dump enthält sehr viele Informationen, doch Sie können die Anzahl der Threads rasch bestimmen, indem Sie die Vorkommen des Tokens TID: in der Liste zählen. Ein typischer Eintrag sieht so aus:

"Thread-1227" (TID:0x106948F0, sys_thread_t:0x78996DA0, state:R, native ID:0x191C) prio=5 
4XESTACKTRACE at java.net.SocketInputStream.socketRead0(Native Method) 
4XESTACKTRACE at java.net.SocketInputStream.read(SocketInputStream.java(Compiled Code)) 
4XESTACKTRACE at java.io.BufferedInputStream.fill(BufferedInputStream.java(Compiled Code)) 
4XESTACKTRACE at java.io.BufferedInputStream.read1(BufferedInputStream.java(Compiled Code)) 
4XESTACKTRACE at java.io.BufferedInputStream.read(BufferedInputStream.java(Compiled Code)) 
4XESTACKTRACE at com.sun.jndi.ldap.Connection.run(Connection.java(Compiled Code)) 
4XESTACKTRACE at java.lang.Thread.run(Thread.java:567)

Wenn Tausende von Threads vorhanden sind, gehen die Threads wahrscheinlich zur Neige. Entwickler können die offensichtlichen Ursachen ermitteln, indem die Stapelablaufverfolgungen dieser Threads untersucht werden.

Hinweis: Thread-Dumps sind meist intrusiv und erfordern einen anschließenden Neustart des Anwendungsservers.

Sind mehrere Hundert Threads vorhanden, ist der Grund für die Fehlermeldung java.lang.OutOfMemory nicht das Thread-Limit. Verkleinern Sie den Thread-Stapel (siehe die oben genannte Option -Xss), starten Sie LiveCycle erneut und prüfen Sie, ob das Problem behoben wurde.

Zu wenig Arbeitsspeicher: Java-Heap-Speicherfehler

In LiveCycle sind Transaktionen möglich, deren Ausführung länger dauert als vom standardmäßigen Transaktionszeitlimit des Anwendungsservers vorgesehen. Die Verarbeitung großer PDF-Dokumente kann beispielsweise sehr zeitaufwendig sein. Diese Fehler werden ggf. im Anwendungsserverprotokoll angezeigt, wenn Workbench-Benutzer große Dateien in die Ansicht „Ressourcen“ ziehen.

Wenn OutOfMemoryError-Meldungen im Anwendungsserverprotokoll auftreten, müssen Sie das Transaktionszeitlimit erhöhen. Der empfohlene Wert beträgt 300 Sekunden (5 Minuten). Unter WebLogic muss der Wert für das Transaktionszeitlimit höher als der an der Auftragsquelle mit der WebLogic-Verwaltungskonsole konfigurierte Wert sein. Unter WebSphere muss der Wert für das Transaktionszeitlimit höher als der maximale konfigurierte Wert sein.

Konfigurieren des JBoss-Transaktionszeitlimits

  1. Öffnen Sie die Datei „[Anwendungsserver-Stammordner]/server/all/conf/jboss.service.xml“ in einem Texteditor.

  2. Suchen Sie das attribute-Element mit dem Attribut name und mit dem Wert TransactionTimeout:

        <attribute name="TransactionTimeout">300</attribute>
  1. Ändern Sie den Wert des Elements attribute den Anforderungen entsprechend in einen höheren Wert.

  2. Speichern Sie „jboss.service.xml“.

Konfigurieren des WebLogic-Transaktionszeitlimits

  1. Melden Sie sich bei der Verwaltungskonsole von WebLogic Server an und klicken Sie unter „Domain Structure“ auf Environment > Servers.

  2. Klicken Sie im rechten Fenster auf Ihren Server und anschließend auf die Registerkarte Server Start.

  3. Klicken Sie auf Lock &Edit .

  4. Klicken Sie im linken Fenster auf [Domänenname] und anschließend im rechten Fenster auf die Registerkarte JTA.

  5. Geben Sie in das Feld Timeout Seconds den Wert 300 (oder höher) ein.

  6. Klicken Sie auf Save und dann auf Activate Changes.

Konfigurieren des WebSphere-Transaktionszeitlimits

  1. Klicken Sie in der Navigationsstruktur der WebSphere-Verwaltungskonsole auf Servers > Application servers > [Servername].

  2. Klicken Sie unter „Container Settings“ auf Container Services > Transaction Service.

  3. Geben Sie unter „General Properties“ in das Feld Total transaction lifetime timeout den Wert 300 (oder höher) ein.

  4. Stellen Sie in „General Properties“ sicher, dass der Wert für Maximum transaction timeout größer als oder gleich dem für die Eigenschaft Total transaction lifetime timeout angegebenen Wert ist.

  5. Klicken Sie auf OK.

Document Management-Dienst für Content Services (nicht mehr unterstützt) auf grundlegender Hardware ausführen

Hinweis: Adobe migriert Kunden, die Adobe® LiveCycle® Content Services ES verwenden, zu Inhalts-Repository, das basierend auf der modernen, modularen CRX-Architektur erstellt wurde, die durch die Übernahme von Day Software durch Adobe erhalten wurde. Das Inhalts-Repository wird mit LiveCycle Foundation bereitgestellt und ist als Teil der LiveCycle ES4-Version verfügbar.

Content Services (nicht mehr unterstützt) bietet verschiedene speicherinterne Caches, die die Leistung wesentlich verbessern, jedoch auch sehr viel Java-Heap-Speicher belegen. Es treten ggf. OutOfMemory-Ausnahmefehler auf, wenn Sie den Dokument Management-Dienst für Content Services auf Hardware ausführen, die nur die Mindestanforderungen an die Hardware erfüllt.

Sie können die Speicherbelegung steuern, indem Sie die JVM-Argumente -Dhibernate.cache.use_second_level_cache=false und -Dhibernate.cache.use_query_cache=false festlegen.

Speicherbelegung durch Content Services auf JBoss Application Server steuern

  1. Öffnen Sie die folgende Datei in einem Texteditor:

    • (Windows) „[Anwendungsserver-Stammordner]/bin/run.bat“ oder „[Anwendungsserver-Stammordner]/bin/run.conf.bat“ entsprechend Ihrer JBoss-Installation.

    • (UNIX) „[Anwendungsserver-Stammordner]/bin/run.sh“ oder „[Anwendungsserver-Stammordner]/bin/run.conf“ entsprechend Ihrer JBoss-Installation.

  2. Fügen Sie in der Zeile JAVA_OPTS folgende Argumente hinzu oder ändern Sie sie:

    • -Dhibernate.cache.use_second_level_cache=false

    • -Dhibernate.cache.use_query_cache=false

  3. Speichern Sie die bearbeitete Datei.

Speicherbelegung durch Content Services auf WebLogic Server steuern

  1. Klicken Sie in der WebLogic Server-Verwaltungskonsole unter „Domain Structure“ auf Environment > Servers und klicken Sie dann im rechten Bereich auf den Namen des LiveCycle-Servers.

  2. Klicken Sie auf die Registerkarte Configuration > Server Start.

  3. Klicken Sie unter „Change Center“ auf Lock & Edit.

  4. Fügen Sie im Feld „Arguments“ die folgenden JVM-Argumente hinzu oder ändern Sie diese:

    • -Dhibernate.cache.use_second_level_cache=false

    • -Dhibernate.cache.use_query_cache=false

  5. Klicken Sie auf Save und dann auf Activate Changes.

Speicherbelegung durch Content Services auf WebSphere Application Server steuern

  1. Melden Sie sich an der WebSphere-Verwaltungskonsole an, klicken Sie in der Navigationsstruktur auf Servers > Application servers und klicken Sie anschließend im rechten Bereich auf den Servernamen.

  2. Klicken Sie unter „Server Infrastructure“ auf Java and Process Management > Process Definition.

  3. Klicken Sie unter „Additional Properties“ auf Java Virtual Machine und fügen Sie im Feld „Generic JVM arguments“ die folgenden JVM-Argumente hinzu oder ändern Sie diese:

    • -Dhibernate.cache.use_second_level_cache=false

    • -Dhibernate.cache.use_query_cache=false

  4. Klicken Sie auf Apply und dann auf Save directly to Master Configuration.

404 Datei nicht gefunden

Überprüfen Sie bei Anzeige des Fehlers 404 Datei nicht gefunden Folgendes:

  • Untersuchen Sie das Problem im Zugriffsprotokoll des Browsers.

  • Prüfen Sie, ob die EAR-Datei ordnungsgemäß bereitgestellt und die Anwendung initialisiert wurde.

  • Wenn die URL für den HTTP-Server vorgesehen ist, prüfen Sie, ob die Datei vorhanden ist. Suchen Sie in der Datei „error_log“ oder „error.log“ den vollständigen Dateinamen, den der Webserver sucht.

  • (JBoss) Vergewissern Sie sich, dass die URL die ordnungsgemäßen Schreibweise verwendet, da Groß- und Kleinschreibung unterschieden werden.

  • (JBoss) Stellen Sie sicher, dass der Kontextstamm der Webanwendung (erster Teil der URL) in der Datei „uriworkermap.properties“ der JK-Plug-In-Konfiguration vorhanden ist.

  • (JBoss) Stellen Sie sicher, wenn es sich um JSP handelt, dass die Datei in der EAR-Datei vorhanden ist. Diese Option wird durch Fehlen eines Eintrags in der Fehlerprotokolldatei des HTTP-Servers bestätigt.

Klasse nicht gefunden

Wenn die Fehlermeldung Klasse nicht gefunden angezeigt wird, prüfen Sie, ob eines der folgenden Probleme vorliegt:

  • Die Klassenpfadeinstellung ist ungültig oder nicht vorhanden.

  • Die JAR-Datei ist veraltet.

  • In der Klasse liegt ein Kompilierungsproblem vor.

JNDI-Name nicht gefunden

Wenn das Symptom eine Ausnahmestapelverfolgung mit javax.naming.NameNotFoundException: jdbc/ <badName > ist, prüfen Sie, ob der erwartete Name ordnungsgemäß geschrieben ist. Falls nicht, müssen Sie den Code korrigieren.

Beseitigen der gängigsten JNDI-Ausnahmen

  1. Überprüfen Sie die JNDI-Struktur auf dem LiveCycle-Anwendungsserver. Wird der verwendete Name in der Struktur angezeigt?

    • Wenn dies der Fall ist, konnte der Code höchstwahrscheinlich das InitialContext-Objekt, das für die Suche verwendet wurde, nicht ordnungsgemäß einrichten. Die Suche erfolgt dann in einer JNDI-Struktur, bei der es sich nicht um diejenige handelt, in der die Ressource aufgeführt ist. Informationen über die zu verwendenden Eigenschaftswerte finden Sie im Dokument Installieren und Bereitstellen von LiveCycle für Ihren Anwendungsserver.

    • Falls nein, fahren Sie mit Schritt 2 fort.

  2. Wird die Ressource in der JNDI-Struktur unter einem anderen Namen als dem in der Suche angegebenen Namen aufgeführt?

    • Falls ja, verwenden Sie den falschen Suchnamen. Geben Sie den ordnungsgemäßen Namen an.

    • Falls nein, fahren Sie mit Schritt 3 fort.

  3. Überprüfen Sie beim Systemstart die Protokolle des Anwendungsservers. Wenn der Anwendungsserver so konfiguriert wurde, dass diese Ressource verfügbar sein soll, aber ein Fehler auftritt, wird an dieser Stelle eine Ausnahme angezeigt. Liegt eine Ausnahme vor?

    • Falls ja, überprüfen Sie die Ausnahme und die Stapelablaufverfolgung. Wenn eine Ausnahme vom Typ NameNotFoundException (Name nicht gefunden) im Rahmen Ihrer Untersuchung der Serverprotokolle ein Symptom eines anderen Problems ist, wechseln Sie zu den Fehlerbehebungsschritten für dieses Problem.

    • Falls nein, fahren Sie mit Schritt 4 fort.

  4. Wenn die Ressource nicht in der JNDI-Struktur aufgeführt ist und beim Start keine Ausnahme angezeigt wird, die erklärt, warum diese nicht zur Verfügung steht, ist der wahrscheinlichste Grund, dass der Anwendungsserver nicht ordnungsgemäß für die Bereitstellung dieser Ressource konfiguriert wurde. Prüfen Sie die Konfiguration des Anwendungsservers. Wurde er für die Bereitstellung dieser Ressource konfiguriert?

    • Falls nicht, finden Sie weitere Informationen dazu im Handbuch Installieren und Bereitstellen von LiveCycle für Ihren Anwendungsserver.

    • Falls ja, handelt es sich nicht um eines der gängigen Probleme, die als Ursache dieses Fehlers gelten. Wenden Sie sich an den Adobe Enterprise-Support.

Fehlermeldungen des JBoss-Anwendungsservers

Objektfehler „org.jboss.logging.appender.FileAppender“

(Bekanntes Problem) Wenn in Ihrer LiveCycle für JBoss-Installation ECM Connector für EMC Documentum enthalten ist, wird die folgende Fehlermeldung in den Serverprotokollen bei jedem Neustart des Servers angezeigt:

An org.jboss.logging.appender.FileAppender object is not assignable to an org.apache.log4j.Appender variable

IBM FileNet-Meldungen werden in der Protokolldatei von JBoss Application Server angezeigt

Um zu verhindern, dass unnötige FEHLER- und WARNUNG-Protokollmeldungen von IBM FileNet erzeugt und in der Protokolldatei von JBoss Application Server angezeigt werden, nehmen Sie folgende Änderung an der Datei „log4j.xml“ vor, die sich im Ordner „[JBoss-Stammordner]/server/all/conf“ befindet.

  1. Suchen Sie die Datei log4j.xml und öffnen Sie sie in einem Editor.

  2. Fügen Sie im Abschnitt [Category] den folgenden Text hinzu:

        <category name="com.filenet"> 
            <priority value="FATAL"/> 
        </category>
  1. Speichern und schließen Sie die Datei.

  2. Starten Sie den Anwendungsserver neu.

Fehlermeldungen des WebLogic-Servers

WebLogic-JTA-Zeitlimitfehler

Wenn folgende Fehlermeldung ausgegeben wird, liegt ein WebLogic-Zeitlimitfehler vor:

<Warning> <com.adobe.workflow.AWS> <ap-sun4> <Server_127> <[ACTIVE] ExecuteThread: '17' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-58E59A31956BB0D8F0AB> <> <1178316054656> <000000> <javax.ejb.TransactionRolledbackLocalException: EJB Exception: ; nested exception is: javax.ejb.TransactionRolledbackLocalException: EJB Exception: ; nested exception is: weblogic.transaction.internal.TimedOutException: Transaction timed out after 299 seconds 

Um diesen Fehler zu beheben, legen Sie für den WebLogic-JTA-Zeitlimitwert einen höheren Wert als 300 Sekunden fest. (Lesen Sie im Dokument Vorbereiten der LiveCycle-Installation „Das WebLogic Transaktionszeitlimit konfigurieren“.

Fehler beim Bereitstellen von „adobe-livecycle-weblogic.ear“

Wenn folgende Fehlermeldung ausgegeben wird, liegt ein WebLogic-EAR-Bereitstellungsfehler vor:

    Could not start application adobe-livecycle-weblogic. 
    com.adobe.livecycle.cdv.CDVException[ALC-LCM-030-113]: Failed to deploy EAR.

Stellen Sie zum Beheben dieses Fehlers in der WebLogic Server-Verwaltungskonsole sicher, dass diese nicht gesperrt ist, d. h. die Schaltfläche „Lock & Edit“ ist nicht ausgewählt. Ist sie gesperrt, zeigt Configuration Manager an, dass der Bereitstellungsprozess zu 16 % abgeschlossen ist, und in WebLogic Server Administration Console wird die EAR-Datei als bereitgestellt, jedoch mit einem installierten Status angezeigt. Ist WebLogic Server Administration Console nicht gesperrt, kann Configuration Manager die EAR-Dateien bereitstellen.

Um dieses Problem zu beheben, stellen Sie sicher, dass die WebLogic Server-Verwaltungskonsole nicht gesperrt ist, und stellen Sie die EAR-Dateien erneut bereit.

Bereitstellungsfehler aufgrund von PermGen-Speicherplatzproblem

Wenn folgende Fehlermeldung ausgegeben wird, liegt ein WebLogic-EAR-Bereitstellungsfehler (Solaris) vor:

    java.lang.OutOfMemoryError: PermGen space

Um diesen Fehler zu beheben, erhöhen Sie den MaxPermSize von 256 auf 512. Sie können diesen Wert über die WebLogic Server Administration Console ändern.

Fehler bei der Bereitstellung der LiveCycle-Module unter Windows/WebLogic

besteht das bekannte Problem, dass bei der Ausführung von WebLogic Server unter Windows Lösungskomponenten von LiveCycle ES nicht bereitgestellt werden, da die Zeitlimiteinstellung von 5 Sekunden zu kurz ist. Sie müssen diese Einstellungen folgendermaßen manuell konfigurieren:

  • Wechseln Sie zu [Anwendungsserver-Domäne] und öffnen Sie die Datei „startWeblogic.cmd“ in einem Editor.

  • Fügen Sie folgenden Parameter hinzu:

        -Dweblogic.client.socket.ConnectTimeout = <timeout value>

Fehlermeldungen des WebSphere-Anwendungsservers

SECJ0305I Fehlermeldung

Wenn der LiveCycle-Prozess einen E-Mail-Endpunkt verwendet, erhalten Sie beim Aufrufen des E-Mail-Endpunkts möglicherweise eine ähnliche Fehlermeldung wie die folgende.

SECJ0305I: The role-based authorization check failed for naming-authz operation NameServer:bind_java_object. The user UNAUTHENTICATED (unique ID: unauthenticated) was not granted any of the following required roles: CosNamingCreate, CosNamingDelete, CosNamingWrite.

Diese Fehlermeldung tritt aufgrund von fehlenden Berechtigungen für die CORBA Naming Service Groups in WebSphere auf.

Führen Sie zur Behebung dieses Problems folgende Schritte durch:

  1. Wählen Sie in WebSphere Administration Console Environment > Naming > CORBA Naming service groups.

  2. Fügen Sie die folgenden Berechtigungen hinzu:

    • Cos Naming Write

    • Cos Naming Delete

    • Cos Naming Create

  3. Starten Sie den WebSphere-Anwendungsserver erneut.

Mehrere Einträge von org.hibernate.StaleObjectStateException in Fehlerprotokollen

Bei einer WebSphere-Cluster-Bereitstellung werden möglicherweise mehrere Einträge von Fehlerprotokollen ähnlich dem Folgenden angezeigt:

org.hibernate.event.def.AbstractFlushingEventListener performExecutions Could not synchronize database state with session 
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.alfresco.repo.domain.hibernate.NodeImpl#10] 
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1769)at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2412) 
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2312) 
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2612)

Diese Protokolle wirken sich nicht auf die Funktionalität aus. Um diese Protokolle zu unterdrücken, müssen Sie mithilfe von WebSphere Administration Console die Protokollierungsstufen ändern. Ändern der Protokollierungsstufen

  1. Melden Sie sich bei der WebSphere Administrative Console an.

  2. Klicken Sie auf Troubleshooting > Logs and Trace.

  3. Klicken Sie im rechten Fenster auf den Namen des Anwendungsservers.

  4. Klicken Sie auf Change Log Detail Levels.

  5. Erweitern Sie in der Konfigurationsregisterkarte den Eintrag All components > org.hibernate.event.* > org.hibernate.event.def.*.

  6. Klicken Sie auf org.hibernate.event.def.AbstractFlushingEventListener. Ein Popupmenü wird angezeigt.

  7. Klicken Sie im Popupmenü auf Message and Trace Levels > Fatal.

  8. Klicken Sie auf OK und dann auf „Save directly to the master configuration“.

Fehler beim Bereitstellen der Datei „adobe-livecycle-websphere.ear“

In diesem Abschnitt wird erläutert, wie Sie eine fehlgeschlagene Bereitstellung korrigieren, wenn bei der Bereitstellung der Datei „adobe-livecycle-websphere.ear“ die folgende Fehlermeldung angezeigt wird:

Could not deploy adobe-livecycle-websphere.ear. com.adobe.livecycle.cdv.CDVException[ALC-LCM-030-112]: Failed to deploy EAR. Could not deploy adobe-livecycle-websphere.ear.

So korrigieren Sie eine fehlerhafte WebSphere-Bereitstellung:

  1. Führen Sie im Befehlsfenster den Befehl limit -n aus.

  2. Wenn der Wert 1024 zurückgegeben wird, erhöhen Sie den Wert im Skript „wasadmin.sh“ auf 2048.

  3. Öffnen Sie das Skript „[Anwendungsserver-Stammordner]/bin/wsadmin.sh“ in einem Texteditor. Fügen Sie in der Datei hinter der Kopfzeile mit dem Kommentarblock die Zeile ulimit -n 2048 hinzu.

  4. Starten Sie WebSphere neu und stellen Sie die Datei „adobe-livecycle-websphere.ear“ mithilfe von Configuration Manager bereit.

J2CA0294W-Warnmeldungen

Sie können die WebSphere-Protokollierungsstufe ändern, um Warnmeldungen in der Datei „SystemOut.log“ zu vermeiden, die mit der nicht mehr verwendeten direkten JNDI-Lookup zusammenhängen.

Um die Warnmeldung J2CA0294W in „SystemOut.log“ zu unterdrücken, ändern Sie die Protokollierungsstufe in *=info:com.ibm.ejs.j2c.ConnectionFactoryBuilderImpl=severe.

Ändern der Protokollierungsstufen

  1. Melden Sie sich über die URL http://[Hostname]:9060/admin bei der WebSphere-Verwaltungskonsole an und klicken Sie in der Navigationsstruktur auf Troubleshooting > Logs and Trace.

  2. Klicken Sie im rechten Fenster auf den Namen des Anwendungsservers und anschließend auf Change Log Detail Levels.

  3. Geben Sie auf der Registerkarte „Configuration“ die folgende Zeichenfolge ein:

        *=info:com.ibm.ejs.j2c.ConnectionFactoryBuilderImpl=severe

 Klicken Sie auf OK und dann auf Save directly to the master configuration.

Ausführliche Protokollnachrichten bei der Installation von WebSphere

Wenn Sie vermeiden möchten, dass bei der WebSphere-Installation mehrere unnötige Protokollnachrichten aufgenommen werden, können Sie die Protokollierungsstufe auf „Warnung“ erhöhen, damit Meldungen mit niedrigerer Stufe nicht protokolliert werden.

  1. Melden Sie sich über „http://[Hostname]:9060/admin“ bei der Verwaltungskonsole von Websphere an.

  2. Klicken Sie in der Navigationsstruktur auf Troubleshooting und klicken Sie anschließend auf Logs and Trace.

  3. Klicken Sie im rechten Fenster auf den Namen des Anwendungsservers und anschließend auf Change Log Detail Levels.

  4. Wählen Sie Runtime und geben Sie org.apache.xml.security.* ein.

  5. Klicken Sie auf Message And Trace Levels und anschließend auf Warning.

  6. Aktivieren Sie das Kontrollkästchen Save runtime changes to configuration.

  7. Klicken Sie auf OK.

Exception: No trusted certificate found

Ihr WebSphere-Anwendungsserver meldet möglicherweise Ausnahmen, die den nachfolgend beschriebenen Ausnahmemeldungen ähneln.

In Administration Console angezeigte Ausnahmen:

         Could not connect to Inbox. Error message: com.ibm.jsse2.util.h: 
            No trusted certificate found; nested exception is: 
                javax.net.ssl.SSLHandshakeException: 
        com.ibm.jsse2.util.h: No trusted certificate found

In den Protokolldateien des WebSphere-Anwendungsservers angezeigte Ausnahmen:

        [5/28/08 13:15:30:283 CDT] 00000025 SystemOut     O 
        CWPKI0022E: SSL HANDSHAKE FAILURE:  A signer with SubjectDN 
        "CN=imap.gmail.com, O=Google Inc, L=Mountain View, ST=California, C=US" 
        was sent from target host:port "null:null". The signer may need to be 
        added to local trust store "D:/servers/websphere6.1/profiles/AppSrv01 
        /config/cells/MN-TOBIKONode01Cell/nodes/MN-TOBIKONode01/trust.p12" 
        located in SSL configuration alias "NodeDefaultSSLSettings" loaded from 
        SSL configuration file "security.xml".  The extended error message from 
        the SSL handshake exception is: "No trusted certificate found". 
        [5/28/08 13:15:30:283 CDT] 00000025 SystemOut     O  
        [5/28/08 13:15:30:283 CDT] 00000025 ExceptionUtil E    
        CNTR0020E: EJB threw an unexpected (non-declared) exception during 
        invocation of method "doSupports" on bean "BeanId(adobe-core-websphere 
        #adobe-dscf.jar#EjbTransactionCMTAdapter, null)". Exception data: 
        java.lang.RuntimeException: Could not connect to Inbox. Error message: 
        com.ibm.jsse2.util.h: No trusted certificate found; 
            nested exception is: 
                javax.net.ssl.SSLHandshakeException:  
        com.ibm.jsse2.util.h: No trusted certificate found

Dieses Problem tritt auf, wenn der WebSphere-Keystore ein erforderliches Zertifikat nicht enthält. Hierbei ist zu beachten, dass der standardmäßige -Keystore nur eine begrenzte Anzahl von Zertifikaten enthält. Führen Sie die folgenden Schritte aus, um ein neues Zertifikat zum WebSpere-Keystore hinzuzufügen.

Hinzufügen eines neuen Zertifikats zum WebSphere-Keystore

  1. Ermitteln Sie das entsprechende Zertifikat im E-Mail-Dienst.

  2. Kopieren Sie das Zertifikat in [Anwendungsserver-Stammordner]\profiles\[Servername]\etc

  3. Melden Sie sich bei der WebSphere-Verwaltungskonsole an und klicken Sie auf Security > SSL certificate and key management.

  4. Klicken Sie unter „Related Items“ auf Key stores and certificates und anschließend auf CellDefaultTrustStore.

  5. Klicken Sie unter „Additional Properties“ auf Signer certificates und anschließend auf Add.

  6. Geben Sie in das Feld Alias einen geeigneten Alias für das Zertifikat ein, das Sie importieren.

  7. Geben Sie in das Feld File name den Speicherort ein, an dem Sie das Zertifikat in Schritt <HyperText>2 installiert haben, und klicken Sie anschließend auf OK.

  8. Klicken Sie auf Save directly to the master configuration. Das Zertifikat, das gerade hinzugefügt wurde, sollte nun als Unterzeichner-Zertifikat aufgelistet werden.

  9. Starten Sie den WebSphere-Anwendungsserver erneut.

Die Ausnahme „Java NameNotFoundException“

Beim Bootstrapping von User Manager-Komponenten für den WebSphere-Anwendungsserver wird nach dem Start der Anwendung die folgende Ausnahmefehlermeldung nur einmal angezeigt:

00000043 javaURLContex E   NMSV0310E: A JNDI operation on a "java:" name cannot be completed because the server runtime is not able to associate the operation's thread with any J2EE application component. This condition can occur when the JNDI client using the "java:" name is not executed on the thread of a server application request. Make sure that a J2EE application does not execute JNDI operations on "java:" names within static code blocks or in threads created by that J2EE application. Such code does not necessarily run on the thread of a server application request and therefore is not supported by JNDI operations on "java:" names. Exception stack trace: 
javax.naming.ConfigurationException [Root exception is javax.naming.NameNotFoundException: Name comp/env/ejb not found in context "java:".]

Sie können diesen Fehler einfach ignorieren.

Unerwartete Ausnahme während DSC-Aufruf

Wenn ein DSC aus einer Transaktion heraus aufgerufen wird, die von einer anderen Anwendung gestartet wurde und auf derselben Instanz von WebSphere bereitgestellt wurde wie LiveCycle , schlägt der DSC-Aufruf mit der folgenden Fehlermeldung fehl:

LocalException E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getObjectType" on bean

Dieser Fehler tritt unter WebSphere nur dann auf, wenn die Datei adobe-utilities.jar verwendet wird und es sich bei Platform.UTIL.getTransactionManager() um den Benutzer handelt, der den Transaktionsmanager startet.

Dieses Problem lässt sich beheben, wenn Sie die Datei adobe-utilities.jar nicht zum Starten des Transaktionsmanagers verwenden. Verwenden Sie stattdessen den folgenden Code zum Erstellen von UserTransaction:

InitialContext initialContext = new InitialContext(); 
UserTransaction ut = (UserTransaction)initialContext.lookup("java:comp/UserTransaction"); 
ut.begin();