Anwendungen auf neue Java-Versionen migrieren
Bei der Migration von Anwendungen ist es wichtig, die Unterschiede zwischen den Java-Versionen zu beachten.
Anwendungen müssen geändert werden, wenn sie APIs verwenden, die in späteren Versionen von Java entfernt wurden.
Verfügbare Versionen
- 6.3 IBM® Semeru Runtime® Certified Edition for z/OS® version 17 und Version 21
- 6.16.2 IBM Semeru Runtime Certified Edition for z/OS version 11, Version 17 und Version 21
- IBM 64-Bit-SDK für z/OS, Java™ Technology Edition, Version 8
Weitere Informationen finden Sie unter Java Runtime Environments.
Vorteile des Umstieg auf eine neue Java-Version
- Profitieren Sie von der neuen API.
- Bleiben Sie mit Sicherheitskorrekturen auf dem Laufenden.
- Bleiben Sie mit Leistungsverbesserungen auf dem neuesten Stand.
- Profitieren Sie von verbesserter Interoperabilität mit verteilten Plattformen.
Programme auf veraltete APIs überprüfen
- Die Migration von früheren Versionen von IBM SDK, Java Technology Edition in der Dokumentation für IBM Semeru Runtime Certified Edition for z/OS; und
- Migration auf die neueste Version von Java leicht gemacht auf IBM Developer.
Überprüfen Sie Ihre Java-Programme auf Kompatibilitätsprobleme zwischen dem unterstützten IBM SDK for z/OS und früheren Versionen. Code, der mit einer älteren Version von Java kompiliert wurde, wird weiterhin ausgeführt, es sei denn, er verwendet APIs, die in der neueren Version von Java oder CICSentfernt wurden. Wenn Code APIs verwendet, die entfernt wurden, nehmen Sie alle erforderlichen Änderungen vor, damit Ihre Programme mit den unterstützten Versionen ausgeführt werden können.
Überprüfen Sie zusätzlich zu den Java-APIs Ihre Programme auf veraltete oder entfernte CICS -JCICS-APIs. Weitere Informationen finden Sie unter Upgrade der Java-Umgebung durchführen.
Dateikodierung und UTF-8 als Standardzeichensatz
Java 21 Gilt für Java 21.
In Java 21 ist UTF-8 der Standardzeichensatz für Standard-Java-APIs, mit Ausnahme der Kodierung für die Konsoleneingabe und -ausgabe. Frühere Versionen von Java verwenden einen EBCDIC-Standardzeichensatz. Die Verarbeitung von EBCDIC-basierten Daten ist in CICS üblich, daher ist diese Änderung von großer Bedeutung.
Anwendungen, die für die Verwendung mit früheren Java-Versionen entwickelt und getestet wurden, verhalten sich wahrscheinlich anders mit Java 21. Überprüfen Sie Ihre Java-Programme, um sicherzustellen, dass sie nicht davon ausgehen, dass die Standardcodierung EBCDIC ist.
Anwendungen, die auf Liberty bereitgestellt werden, sind nicht betroffen, da Liberty nur unterstützt wird, wenn es unter einer JVM mit UTF-8 oder ISO-8859-1 in CICS ausgeführt wird.
JCICS-APIs, die String-Objekte verwenden, verarbeiten Codepage-Konvertierungen automatisch. Aktualisieren Sie Java-Anwendungen, damit sie String-basierte JCICS-Methoden anstelle der älteren JCICS-Methoden verwenden, die mit byte[]-Daten interagieren.
- Anfragen an
String.getBytes(). InputStreamReader,FileReader,OutputStreamWriter,FileWriterundPrintStreamAPIs desjava.io-Pakets.FormatterundScannerAPIs desjava.util-Pakets.URLEncoderundURLDecoderAPIs desjava.net-Pakets.
Wenn -Dfile.encoding=COMPAT im JVM-Profil festgelegt wird, wird das Verhalten von Java 17 wiederhergestellt, bei dem die native Kodierung basierend auf dem Gebietsschema bestimmt wird. Diese Option sollte mit Vorsicht verwendet werden, da Java-Softwarebibliotheken in Zukunft wahrscheinlich überall UTF-8 voraussetzen werden.
Weitere Informationen, file.encoding Eigenschaftswerte und die automatische Konvertierung von Eingabedateien finden Sie unter Dateikodierung und UTF-8 als Standardzeichensatz in der IBM Semeru Runtime Certified Edition for z/OS dokumentation.