Hinweise für isolierte Ressourcenprovider
Bei der Arbeit mit Ressourcenprovider, die in eigenen Klassenladern isoliert werden sollen, müssen verschiedene Aspekte berücksichtigt werden.
Die folgenden Aspekte müssen beachtet werden, wenn Sie einen Ressourcenprovider in seinem eigenen Klassenlader
isolieren:
- Clientcontainer
Der Clientcontainer verwaltet den Klassenpfad von Ressourcenprovidern nicht. Deshalb werden isolierte Ressourcenprovider auch nicht im Clientcontainer unterstützt.
- Mehrere Ressourcenproviderversionen pro Anwendung
Wenn eine Anwendung auf Ressourcen mehrerer Versionen oder Implementierungen desselben Ressourcenproviders verweist, müssen alle referenzierten Ressourcenprovider isoliert sein.
- Referenzen auf isolierte RessourcenproviderklassenWenn ein Modul direkt auf Klassen verweist, die von einem isolierten Ressourcenprovider geladen werden, d. h., wenn das Modul Importanweisungen von Ressourcenproviderklassen enthält, gelten die folgenden Einschränkungen:
- Das Modul kann nur auf Ressourcen einer einzigen Version bzw. Implementierung eines isolierten Ressourcenproviders verweisen. Dies ist eine inhärente Einschränkung für das Laden von Klassen, weil ein Modulklassenlader nur auf eine einzige Version einer Klasse verweisen kann.
- Das Modul kann keine direkten JNDI-Lookup-Operationen durchführen, ohne Metadaten für Java-EE-Ressourcenreferenzen zu verwenden. Diese Einschränkung ist erforderlich, weil der Anwendungsserver ohne Metadaten für Ressourcenreferenzen keinen Mechanismus besitzt, um den Klassenlader des Moduls mit dem Klassenlader des isolierten Ressourcenproviders zu verlinken.