Deployment des jadice web toolkit unter JBoss oder Wildfly

Sowohl JBoss als auch Wildfly schränken standardmäßig den Zugriff die JRE ein. Im speziellen Betrifft dies Klassen aus den com.sun.* und sun.* Packages. Diese Packages sind nicht auf allen JREs verfügbar und es ist daher durchaus sinnvoll, dass der Zugriff auf diese eingeschränkt wird.

Wird das jadice web toolkit auf einem JBoss oder Wildfly Application Server mit einer Oracle JavaVM betrieben, ist es notwendig den Zugriff auf spezielle Klassen zuzulassen. Das jadice web toolkit verwendet Klassen aus diesen Packages um Optimierungen bei der Aufbereitung der Dokumente zur Verfügung zu stellen und manche Fehler innerhalb der JavaVM zu korrigieren.

Den Zugriff konfigurieren

Um einer Webanwendung auf Basis des jadice web toolkit Zugriff auf die notwendigen Packages zu gewähren, ist ein zusätzlicher Deployment-Descriptor notwendig. Dieser Deployment Descriptor befindet sich entweder innerhalb des WAR oder, wenn das WAR als Teil eines EAR deployt wird, innerhalb des EAR.

Deployment Descriptor im WAR

Wird die Anwendung als WAR deployt, muss eine WEB-INF/jboss-deployment-structure.xml der Anwendung hinzugefügt werden.

WEB-INF/jboss-deployment-structure.xml
 <jboss-deployment-structure>
    <deployment>
        <dependencies>
            <system>
                <paths>
                    <path name="sun/java2d"/>
                    <path name="sun/java2d/pipe"/>
                    <path name="sun/java2d/loops"/>
                </paths>
            </system>
        </dependencies>
    </deployment>
</jboss-deployment-structure>

Deployment Descriptor im EAR

Wird die Webanwendung als Teil eines EARs deployt, kann die jboss-deployment-structure.xml nicht innerhalb des WAR liegen. Bei einem EAR Deployment beachten JBoss und Wildfly ausschließlich eine META-INF/jboss-deployment-structure.xml, welche direkt im EAR vorliegt.

Bei dieser müssen die Benötigten Abhängigkeiten für die entsprechende Webanwendung als subdeployment deklariert werden. In dem nachfolgenden Beispiel wird diese Konfiguration für eine Webapplikation vorgenommen, welche mit dem Namen viewer-webapp.war als Teil des EAR deployt wird.

META-INF/jboss-deployment-structure.xml
<jboss-deployment-structure>
    <sub-deployment name="viewer-webapp.war">
        <dependencies>
            <system>
                <paths>
                    <path name="sun/java2d"/>
                    <path name="sun/java2d/pipe"/>
                    <path name="sun/java2d/loops"/>
                </paths>
            </system>
        </dependencies>
    </sub-deployment>
</jboss-deployment-structure>

 

 

Verwandte Artikel