Mit der DLE Version 2.2 wird die aktuelle Java-Version 21 unterstützt. Es muss bei der Installation eine zu Java 21 kompatible Java-Version installiert werden. Auch der zentrale Webserver der DLE-Installtion (Jetty) wird mit dieser Version auf die neueste stabile Version aktualisiert. Dadurch werden höhere Sicherheitsstandards und neuere Technologien unterstützt. Es werden mit dieser Version auch weitere Javabibliotheken auf die neueste verfügbare Version aktualisiert.
Wichtige Hinweise:
Wenn der Security Service vor dem Update nicht in der Session-Config aktiviert ist, müssen Sie nach dem Aktivieren, die Passwörter für Ihre administrativen Benutzerkonten einmalig neu setzen. Dadurch vermeiden Sie, dass Probleme auftreten nach dem Update beim Einloggen.
Wir empfehlen eine Datensicherung vor der Aktualisierung. Diese sollte die DLE-Datenbank sowie die DLE-Anwendungsdateien beinhalten.
Siehe dle.vision-flow.at/technische-details/technik/dle-java-api/reorganisation-von-bricks/
Deaktivieren Sie Dienste, welche DLE-Server überwachen und automatisch starten.
Abhängig vom Betriebssystem sollten Sie andere Benutzerkonten auf dem betroffenen DLE-Server-Computer abmelden, um gesperrte Ressourcen zu verhindern.
Windows: Taskmanager > Benutzer > andere "Abmelden"
ACHTUNG: Dieser Schritt muss noch mit Java-Version 8 ausgeführt werden.
Dieser Vorgang muss nur einmalig ausgeführt werden.
Dieser Vorgang stellt sicher, dass die DLE-Datenbank aktualisiert wird. Die Verbindungskoordinaten in der DLESessionConfig.xml-Datei für den defaultConnector müssen für die DLE-Installation das Ändern von Datenbank-Tabellen/Views erlauben. D.h. der Datenbankbenutzer braucht ALTER/CREATE-Rechte. Ist dies nicht möglich, dann muss die Datenbankaktualisierung manuell ausgeführt werden.
Kopieren Sie die Datei update_DLE_V2.1_V2.2.zip nach DLE\install\updates.
Führen Sie folgende Kommandos in der Kommandozeile (Shell) aus.
Ausführen > cmd > Rechtsklick > Als Administrator ausführen
cd C:\DLE\scripts
..\java\bin\java -Ddle.start.debug=true -jar ..\dlestart.jar -update
cd /opt/DLE/scripts
../java/bin/java -Ddle.start.debug=true -jar ../dlestart.jar -update
DLE 2.1 erfordert JDK 21. Aktualisieren Sie Ihr DLE JDK im Verzeichnis DLE\java.
Sichern Sie das aktuelle Java-Verzeichnis (z. B. als Java_old) und kopieren Sie den inhalt von DLE\java_old\jre\lib\security nach DLE\java\lib\security im aktualisierten Java-21-Verzeichnis.
Wir empfehlen die allerneueste JDK-Patchversion, da diese die beste Sicherheit und Leistung bietet.
Download: https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html
Extrahieren unter Linux:
Shell tar -zxvf amazon-corretto...tar.gz
Shell tar -xvf amazon-corretto...tar
Download: www.oracle.com/java/technologies/downloads/
Download: openjdk.java.net
Abhängig von Ihrer Datenbankversion müssen Sie gegebenenfalls die JDBC-Datenbanktreiber aktualisieren, falls diese nicht zwischen Java 8 (DLE 2.1) und Java 21 (DLE 2.2) kompatibel sind. Dies betrifft u.a.:
| Datenbank | JDK 8 Treiber | JDK 21 Treiber | Anmerkung |
|---|---|---|---|
| Microsoft SQL Server | sqljdbc42.jar | mssql-jdbc-12.8.1.jre11.jar | |
| MySQL | mysql-connector-java-5.1.48.jar | mysql-connector-java-5.1.48.jar | |
| Oracle | ojdbc8-19.8.0.0.jar | ojdbc17.jar | |
Mit DLE-Version 2.2 wird die standardmäßig mit dem DLE-Class-Loader gestartet. (siehe dazu: Start der DLE - Abschnitt DLE-Class-Loader)
Dies führt dazu, dass gewisse Parameter aus der startup.xml-Datei in die Startskripte für den DLE-Dienst verlagert werden müssen (startserver.bat bzw. startserver.sh).
Dies betrifft zum Beispiel -Xmx und -Xms Parameter.
Eine Aktualisierung auf die aktuelle DLE 2.2 Version erfolgt mittels bereitgestelltem DLE-Update-ZIP.
Kopieren Sie die neueste Datei update_DLE_v2.2.X.XXX_YYYYMMDD.zip nach DLE\install\updates.
Installieren Sie die DLE 2.2 Aktualisierung.
cd DLE\scripts
..\java\bin\java -Ddle.start.debug=true -jar ..\dlestart.jar -update
cd DLE/scripts
../java/bin/java -Ddle.start.debug=true -jar ../dlestart.jar -update
Die folgenden Maßnahmen haben keinen unmittelbaren Bezug zum Aktualisierungsvorgang der DLE 2.2. Wir empfehlen dennoch, die folgenden Maßnahmen zu prüfen.
Wir empfehlen, als Start-Argument für den DLE/Java-Prozess den maximal zugesicherten Arbeitsspeicher auf mindestens 2 GB zu erhöhen.
-DXmx2G
DLE 2.1 bietet neue Funktionen und Assistenten, welche Schreibzugriff auf das DLE-Installationsverzeichnis erfordern. Wir empfehlen, den Schreibzugriff auf das DLE-Installationsverzeichnis zu erweitern. Der erste Parameter sollte "~/temp" sein. "~" entspricht dem DLE-Instllationsverzeichnis.
<Property name="FileDirectories" value="~/temp;~/;~"/>
Empfehlung ab Version 2.2.0.011:
Dieser Wert muss abhängig von durchschnittlicher Bricklaufzeit und Art der in Bricks verrichteter Aufgaben gesetzt werden. Wichtig ist, dass dieser Wert die maximal zulässigen Datenbankverbindungen um mindestens 10 unterschreitet. Werden viele Bricks mit Zugriffen auf Drittsysteme eingesetzt (z.B. lang laufende DB-Abfragen, HTTP/FTP/Email-Abfragen aus Bricks), dann kann dieser Wert höher gewählt werden, als wenn hauptsächlich Berechnungsaufgaben abgearbeitet werden.
Empfehlung bis Version 2.2.0.010:
Wir empfehlen, die maximalen Anzahl der DLE-internen Worker in DLE/server/Serverconfig.xml auf die Anzahl der zeitgleich angemeldeten Anwender plus die Anzahl der Queues - typischerweise drei - plus einer Reserve von fünf, zu setzen. Dieser Wert ist abhängig von der Belastung.
Empfohlener Wert, wenn Sie bis zu 20 Mitarbeiter im Intranet haben:
<Property name="MaxWorkers" value="30" />
Empfohlener Wert, wenn Sie öffentlich verfügbare Webapps betreiben:
<Property name="MaxWorkers" value="100" />
Wir empfehlen, den DLE Security Service zu aktivieren. Dieser erfordert die Authentifizierung von DLE-Benutzern mit Kennwort. Sie sollten administrativen Benutzerkonten die Benutzergruppe "DLE Admin" zuweisen.
<Service name="SecurityService" class="at.visionflow.dle.engine.security.DLESecurityService">
<Properties>
<Property name="ByConflictForbidden" value="True" />
<Property name="NotDefinedRightsAllowed" value="False" />
<Property name="WithoutSecurity" value="False" />
<Property name="PublishDLEEnvironment" value="True" />
</Properties>
</Service>
Vor dem Update müssen Sie die Passwörter für Ihre administrative Benutzerkonten einmalig neu setzen. Dadurch vermeiden Sie, dass es Probleme auftreten nach dem Update beim Einloggen.
Wir empfehlen, den DLE Logger Service - nicht zu verwechseln mit dem DLE System Logger Service - zu deaktivieren. Sie können das betreffend XML-Element auskommentieren oder entfernen.
<Service name="LoggerService" class="at.visionflow.dle.engine.logging.DLELog4jLoggerService">
<Properties>
<Property name="level" value="warn" />
</Properties>
</Service>
In der Session-Config kann das Property <Property name="TestSystem" value="true" /> gesetzt werden, welches man die Systeme (z.b. Test- und Produktivsystem) unterscheiden kann.
Die DLE-Softwareaktualisierung ist abgeschlossen. Starten Sie den DLE-Server wieder im regulären Betrieb.
Führen Sie in der DLE Online IDE den Menüpunkt Werkzeuge > Metadatenvalidierung aus. Wählen Sie das Paket DLE und kontrollieren Sie, ob die Datenbankaktualisierung fehlerfrei war.
In manchen Fällen gibt es Browsercache-Probleme nach einer DLE Softwareaktualisierung. Drücken Sie in diesem Fall STRG+SHIFT+R (Chrome, Firefox, Edge) oder STRG+F5 (Internet Explorer), um den Browsercache erzwungen zu aktualisieren.
Bestimmte DLE-Pakete sind zwischen DLE 2.1 und 2.2 inkompatibel. Diese müssen erneut installiert werden.
TBD
| Paket | Kompatibel? | Empfohlene Aktion |
|---|---|---|
| CBR | nein | Paket deinstallieren (löschen Sie das Verzeichnis DLE\packages\CBR) |
| DLECHART | ja | |
| DLEGEN | ja | |
| DPE | ja | |
| DTMS | ja | |
| DVIEW | nein | Paket erneut installieren |
| DWA | ja | |
| EDI | ja | |
| FLEETBOARD3 | ja | |
| MONITORING | ja | |
| OFFICE_INTEGRATION | ja | |
| TRULIOO | ja | |
| VFXFORM | ja | |
| VFXOES | ja | |
| VFXPDF | ja | |
| VFXWPS | ja | Ab der Version 1.8.5 müssen Sie jene Bricks, welches das Kommando "VFXWPS Portal" beinhalten, neu kompilieren |
| WEB | ja | |
| WEBMOBILE | ja |
java.lang.NullPointerException: Cannot invoke "String.length()" because "jar" is null
Diese Fehlermeldung wird angezeigt, wenn die DLE für das Ausführen dieser Zip-Datei mit Java 21 statt Java 8 ausgeführt wurde.
Dieser Fehler tritt auf, wenn versucht wird, einen Keystore im BouncyCastle-JKS-Format zu laden, der nur lesbar ist und keine privaten Schlüssel unterstützt.
Java (ab Version 9+) ist bei der Validierung strenger als Java 8 und verweigert den Start des Webservers (z. B. Jetty), wenn kein gültiger Keystore mit privatem Schlüssel bereitsteht.
Lösung: Keystore in PKCS12 Umwandeln