Wie ich heute schmerzlich erfahren musste, sind die JVMs (Java Virtuell Maschine) auf den unterschiedlichen Lotus Domino Serverplattformen bei gleicher Versionsnummer nicht identisch und verhalten sich leider auch nicht identisch.
Entwickelt und getestet hatte ich die XPage-Anwendung auf einem Linux-System mit den folgenden Werten.
- java.version 1.6.0
- java.vendor IBM Corporation
- java.vm.version 2.4
- java.vm.vendor IBM Corporation
Der Kunde betreibt seinen Server auf SunOS.
- java.version 1.6.0_17
- java.vendor Sun Microsystems Inc.
- java.vm.version 14.3-b01
- java.vm.vendor Sun Microsystems Inc.
Normallerweise dürfte es keinen Unterschied machen. In meinem Fall hat sich die Implementierung von java.util.TreeSet. aber doch erheblich im Verhalten unterschieden.
Konkret ging es darum, ein bestehendes TreeSet umzusortieren. Der allgemein verwendete Weg besteht darin, ein neues TreeSet mit einem anderen Comparator zu erstellen und mit Hilfe der Methode TreeSet.addAll(Collection c) die Einträge aus dem alten TreeSet zu übernehmen.