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 |
|---|---|
| com.levigo.jadice.server.nodes.StreamInputNode.MyTransportReceiver |
Namespace-Änderungen
| Bisheriger Name | Neuer Name |
|---|---|
|
|
Entfernte Klassen, Methoden oder Properties
| Property | Details |
|---|---|
| Als Ersatz sollte |
| Method | Details |
| Es kann direkt das ExportFormat gesetzt werden, mit |
Ä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.xsd → https://www.springframework.org/schema/beans/spring-beans-4.3.xsdhttp://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 |
|---|---|---|
| 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 = falseden Wert auftrueändern - Die folgenden Einträge wieder einkommentieren:
#wrapper.filter.script.0=${wrapper_home}/scripts/trayMessage.gv
#wrapper.filter.script.0.args=Exception