Allgemeine Fehler

Fehler beim Einrichten des jadice server als Dienst unter Windows

Fehlersituation

Jadice Server Dienst beendet sich nach dem Starten ohne Fehlermeldung.

Mögliche Ursachen

Es wurden in der Datei wrapper/wrapper.conf Änderungen an Pfadangaben vorgenommen und auf diese angegebenen Pfade hat der Server zur Laufzeit keinen Zugriff.

Lösung

Eventuell ist bereits die Neuinstallation des Windows Services ausreichend.

Ansonsten kann in der Datei wrapper.conf über den normalerweise auskommentierten Parameter wrapper.working.dir der Pfad zu dem Verzeichnis, in dem das wrapper.jar liegt, angegeben werden.

Fehler beim Senden eines Jobs

Fehlermeldung im Client-Log
com.levigo.jadice.server.JobException: Failure during server-side initialization on JADICE-SERVER-JS.REQUEST
   at com.levigo.jadice.server.client.jms.JMSJobController.performHandshake(JMSJobController.java:579)
   at com.levigo.jadice.server.client.jms.JMSJobController.submit(JMSJobController.java:365)
   at com.levigo.jadice.server.client.DefaultJobInternalImpl.submit(DefaultJobInternalImpl.java:74)
             
Fehlermeldung im Server-Log
WARN  [; core.ThreadPoolJobScheduler; JadiceServer job scheduler master thread]: Not executing job due to expired request message: (…)
             
Typische Ursache

Die Uhrzeiten von Client und Server weichen stark voneinander ab.

Lösung

Untersuchen Sie die Uhrzeiten von Client und Server und synchronisieren Sie diese gegebenenfalls.

Konvertierung mit Nodes, die nicht standardmäßig im Produkt enthalten sind

Fehlermeldung im Server-Log
Exception launching job
com.thoughtworks.xstream.converters.ConversionException: SomeNode : SomeNode
---- Debugging information ----
message             : SomeNode
cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : SomeNode
class               : java.util.ArrayList
required-type       : java.util.ArrayList
converter-type      : com.thoughtworks.xstream.converters.collections.CollectionConverter
path                : /com.levigo.jadice.server.client.internal.DefaultJobInternalImpl/node/successors/SomeNode
line number         : 8
class[1]            : com.levigo.jadice.server.nodes.StreamInputNode
converter-type[1]   : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2]            : com.levigo.jadice.server.client.internal.DefaultJobInternalImpl
version             : 1.4.7
-------------------------------
(…)
Ursache

Der vom Client erzeugte Job referenziert eine Node-Klasse, die nicht im Klassenpfad des Servers vorhanden ist.

Lösung

Überprüfen Sie den Klassenpfad des Servers und fügen Sie die fehlende Bibliothek hinzu.

JMS-Fehler beim Abschicken von Jobs

mögliche Fehlermeldungen im Client-Log
javax.jms.JMSException: Failed to build body from bytes.
   Reason: java.io.IOException:
   com.levigo.jadice.server.shared.jms.ServerMessage$InitializationResponse

javax.jms.JMSException: Failed to build body from bytes.
   Reason: java.io.InvalidClassException:
   com.levigo.util.internal.log.qualified.ResolvedQualifiedLogEvent;
   class invalid for deserialization
mögliche Ursache

Es sind mehrere JMS-Provider im Klassenpfad des Clients vorhanden.

Lösung

Verwenden Sie nach Möglichkeit in Ihrer Anwendung nur einen JMS-Provider. Falls dies nicht möglich ist, ändern Sie die Reihenfolge des Klassenpfads so, dass der JMS-Provider, der für jadice server verwendet wird, Vorrang hat.

Fehler bei der Konvertierung von HTML-Dokumenten / HTML-E-Mails

Fehlermeldungen im Server-Log
java.lang.StackOverflowError
  (…)
   at org.lobobrowser.html.parser.HtmlParser.parseToken(HtmlParser.java:642)
   at org.lobobrowser.html.parser.HtmlParser.parseToken(HtmlParser.java:679)
   at org.lobobrowser.html.parser.HtmlParser.parseToken(HtmlParser.java:679)
  (…)
   at org.lobobrowser.html.parser.HtmlParser.parse(HtmlParser.java:507)
   at org.lobobrowser.html.domimpl.HTMLDocumentImpl.load(HTMLDocumentImpl.java:386)
   at org.lobobrowser.html.domimpl.HTMLDocumentImpl.load(HTMLDocumentImpl.java:366)
   at org.lobobrowser.html.parser.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:98)(…)
mögliche Ursache

Das Parsen von ungünstig strukturierten HTML-Dokumenten übersteigt die maximal zulässige Stack-Tiefe der JVM.

Lösung

Erhöhen Sie die maximal zulässige Stack-Tiefe der JVM, z. B. durch Setzen des Parameters -Xss2048k in der Datei wrapper/wrapper.conf (falls eine Oracle / SUN JVM eingesetzt wird).

[jadice server Version 5.8.7.0: Dokumentation für Entwickler und Administratoren. Veröffentlicht: 2021-04-15]