Hinweise zur Migration auf jadice server 5.8

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 Namen

Neuer Name

Bisheriger Namen

Neuer Name

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

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

Namespace-Änderungen

Bisheriger Name

Neuer Name

Bisheriger Name

Neuer 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

Property

Details

Property

Details

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

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

Method

Details

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.

Konfigurationsdatei

Bean

Felder, property → constructor-arg

Konfigurationsdatei

Bean

Felder, 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.JMSAppender

connectionFactory, 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