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.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 |
---|---|---|
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 auftrue
ändern - Die folgenden Einträge wieder einkommentieren:
#wrapper.filter.script.0=${wrapper_home}/scripts/trayMessage.gv
#wrapper.filter.script.0.args=Exception