Dieser Artikel bezieht sich auf das Arbeiten mit JavaMail (Klassen im Paket javax.mail) und Java Activation (Klassen im Paket javax.activation) bei der Ausführung innerhalb von Weblogic.
Wenn AEM innerhalb von Weblogic läuft, wird die Funktionalität von JavaMail vom Applikationsserver bereitgestellt. Abhängig von der JRE-Version wird Java Activation von der JRE oder von Weblogic bereitgestellt.
Um in diesem Fall „JavaMail“ und „JavaActivation“ nutzen zu können, müssen die Pakete für sie deinstalliert werden:
- JavaMail-API (javax.mail)
- Apache Sling javax.activation-Paket (org.apache.sling.javax.activation)
Dann müssen die zugehörigen Pakete vom System-Paket bereitgestellt werden. Dies kann durch die Installation eines Systempaket-Erweiterungs-Fragments für diese Pakete geschehen. Sehen Sie sich dazu diesen Artikel zur Erstellung eines Systempakets an. Es ist darauf zu achten, dass die exportierten Versionen der Pakete wie im Fragment deklariert mit den vom Applikationsserver/JRE bereitgestellten Versionen übereinstimmen.
Ein alternativer Ansatz zur Systempaket-Erweiterung besteht darin, eine Framework-Eigenschaft hinzuzufügen, die erklärt, dass diese Pakete vom Systempaket bereitgestellt werden (da es sie von seinem übergeordneten Classloader erbt). Dazu wird die Datei sling.properties so modifiziert, dass sie die folgende Zeile enthält (diese Zeile zeigt nur Java Activation):
org.osgi.framework.system.packages.extra=javax.activation; version\=1.1
Auch hier ist es wichtig, dass die richtige Version für den Export verwendet wird. Die in der „JRE“ enthaltene Version von Java Activation ist 1.1. Informationen über die von JavaEE bereitgestellte Version von JavaMail finden Sie auf der Seite OSGi Protable Java Contracts: http://www.osgi.org/Specifications/ReferenceContract.
Bei Ihrem Konto anmelden