Wenn ein benutzerdefinierter Knoten in Java als PAR-Datei verpackt ist, wird er in einem separaten Klassenladeprogramm geladen. Das Klassenladeprogramm lädt jede Klasse, die in der implementierten PAR-Datei verpackt ist. Diejenigen Klassen, die im JAR abgelegt sind, setzen die im gemeinsamen Klassenverzeichnis bzw. in der Umgebungsvariable CLASSPATH außer Kraft. Wenn das implementierte PAR mehr als einen Knotentyp enthält, haben die Knoten dasselbe Klassenladeprogramm. Deshalb sollten benutzerdefinierte Knoten mit gemeinsamen statischen Daten in einer einzigen PAR-Datei verpackt werden. Benutzerdefinierte Knoten in Java, die als einfache JAR-Dateien verpackt sind, werden im selben Klassenladeprogramm geladen. die Klassen und die Speicherposition, von der sie geladen werden, werden in den Benutzertrace geschrieben, damit anhand dieser Informationen überprüft werden kann, ob die korrekten Klassen geladen werden.
Der Broker verwendet folgenden Klassenladeprogramm-Baum:
In einem PAR verpackte benutzerdefinierter Knoten
In einem JAR verpackte benutzerdefinierte Knoten
Der Endorsed-Standards-Überschreibungsmechanismus erlaubt es, die folgenden Standard-Pakete in der Java-Laufzeitumgebung zu überschreiben:
Um diese Pakete im Broker zu überschreiben, legen Sie die JAR-Dateien für die API-Standards im /lib-Verzeichnis des PARs ab.
Thread.currentThread.setContextClassLoader(this.getClass().getClassLoader());