Hinweise zur Migration auf jadice server 5.8



Empfohlene Java Laufzeitumgebung

Ab dieser Version ist der Betrieb auf einer Oracle Java VM in Version 11, bzw. vergleichbarer OpenJDK Distribution (z.B. Zulu OpenJDK oder AdoptOpenJDK) möglich und empfohlen.
Die Unterstützung für die Java Version 8 wird mit dieser Version auf Deprecated gesetzt, Java 8 gemäß Systemvoraussetzungen wird aber für die 5.8er-Versionen weiterhin unterstützt.

API-Änderungen im Überblick

Änderungen von Klassen- und Methodennamen

Bisheriger NamenNeuer Name

com.levigo.jadice.server.nodes.StreamInputNode.MyTransportReciever

com.levigo.jadice.server.nodes.StreamInputNode.MyTransportReceiver

Namespace-Änderungen

Bisheriger NameNeuer Name

com.levigo.jadice.server.core.util.LayoutDecorator

com.levigo.jadice.server.core.util.LogConfigurator

com.levigo.jadice.server.core.util.LoggerMultiplexer

com.levigo.jadice.server.core.util.logging.LayoutDecorator

com.levigo.jadice.server.core.util.logging.LogConfigurator

com.levigo.jadice.server.core.util.logging.LoggerMultiplexer

Entfernte Klassen, Methoden oder Properties

PropertyDetails

com.levigo.jadice.server.client.JobFactory.PROPERTY_KEY_EXECUTION_TIMEOUT

Als Ersatz sollte Job#apply(com.levigo.jadice.server.Limit) verwendet werden.

MethodDetails

com.levigo.jadice.server.libreoffice.server.LibreOfficeConversionNode#setTargetMimeType(String)

com.levigo.jadice.server.Job#waitForTermination(Long)

Es kann direkt das ExportFormat gesetzt werden, mit setExportFormat(ExportFormat).

Es sollte stattdessen waitForTermination(long, TimeUnit) verwendet werden.

Änderungen in der Spring-Konfiguration

Durch das Update der Bibliotheken Spring (4.2.13.RELEASE auf 5.3.3.RELEASE) und Spring Security (4.3.26.RELEASE auf 5.2.8.RELEASE) kommt es zu Änderungen in allen Spring-XML-Konfigurationen.

Anpassung Schema-Location

Für alle externen Schema-Locations wurde das Protokol von HTTP zu HTTPS geändert. Diese Änderung betrifft alle XML-Dateien im Ordner server-config und dessen Unterverzeichnissen.

Beispiel

alt:   http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd

neu:  http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans-4.3.xsd


Außerdem müssen in der Datei server-config/application/config.xml folgende Einträge aktualisiert werden:

  • http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttps://www.springframework.org/schema/beans/spring-beans-4.3.xsd
  • http://www.springframework.org/schema/util/spring-util-4.0.xsd → https://www.springframework.org/schema/util/spring-util-4.3.xsd


Required Fields

Das Setzen von erforderlichen Felder über Setter mit der Annotation "@Required" ist in Spring 5 deprecated. Daher werden diese Felder jetzt allesamt über Konstruktorparameter gesetzt.
In der Folge wurde auch der RequiredAnnotationBeanPostProcessor aus der internal.xml entfernt.

KonfigurationsdateiBeanFelder, property → constructor-arg
conversion-base.xml

job-scheduler

mso-instance-pool

ms-powerpoint-instance-pool

ms-project-instance-pool

workingDirectory, tempFileReaper, executionStrategyFactory, nodeWorkerFactory

processReaper

processReaper

processReaper

internal.xml

jmx-context

infoAssembler

multi-vm-instance.xml 

com.levigo.jadice.server.jms.logging.JMSAppenderconnectionFactory, topic
rest.xml

fileService

contentStore

templateRepository

contentStore

jobService

contentStore

jobFactory, contentStore, templateRepository

baseDirectory

workingDirectory, tempFileReaper

rest-jobfactory, templateRepository, contentStore

log4j-configuration.xml

com.levigo.jadice.server.jms.logging.JMSAppender

connectionFactory, topic


Password Provider

Beginnend mit Spring Security 5 ist der standardmäßige PasswordEncoder vom Typ DelegatingPasswordEncoder.
Diese Implementierung verlangt die Angabe des Encryption Algorithmus in geschweiften Klammern vor dem eigentlichen Passwort. Für Demonstartionszwecke wurde in der security.xml der Noop-Encoder verwendet.

Beispiel: <sec:user name="sam" password="{noop}public" authorities="ROLE_USER" />

Weiterführende Informationen finden Sie in der Spring Security Dokumentation.

Groovy 3

Wegen des Updates von Groovy Version 2.4 auf Version 3.0, sollte die Funktionalität von angepassten Groovy-Skripten unter Groovy 3 nochmals überprüft werden, bevor diese produktiv eingesetzt werden.


Windows 2016/2019 System Tray wieder aktivieren (nur wenn benötigt)

Um das in Version 5.8 standardmäßig deaktivierte Windows System Tray zu reaktivieren, müssen in der wrapper.conf folgende Änderungen vorgenommen werden:

  • Beim Eintrag wrapper.tray = false den Wert auf true  ändern
  • Die folgenden Einträge wieder einkommentieren:
    #wrapper.filter.script.0=${wrapper_home}/scripts/trayMessage.gv
    #wrapper.filter.script.0.args=Exception