Weblogic 10 shared library nicht zeigen, bis in verweisen auf apps
Auf WebLogic 10.0 benutze ich die "Gemeinsamen J2EE-Bibliotheken" ( http://download.oracle.com/docs/cd/E11035_01/wls100/programming/libraries.html ) Funktion in der WLS zu Gruppe einige Gläser, die würde, die zugänglich sein müssen, in mehreren Ohr. Diese Gläser, die sich auf dem system-Klassenpfad, und ich versuche Sie zu bewegen, in die shared-lib von dort.
Mein problem ist:
- in der WLS-web-admin-Konsole ich auf die shared library mit dem Namen "theSharedLib") unter Bereitstellungen
- die "Anwendungen, die einen Verweis auf diese Bibliothek" Liste ist leer
- Ich kann auch die Implementierung der lib mithilfe von weblogic.Deployer, aber beim nächsten Neustart der server beschwert es sich über die referenzierten Bibliothek fehlen beim laden der verweisenden Applikation
So scheint es, dass beim Start der Referenzierung wirksam, aber in der runtime WLS irgendwie vergisst diese (brauche ich einige Magische trick dabei?).
Konnte ich auch erreichen:
- undeploy theSharedLib (keine Klagen)
- undeploy someReferencingApp (ok)
- bereitstellen someReferencingApp (Fehler! fehlende lib)
- bereitstellen theSharedLib (ok)
- bereitstellen someReferencingApp (ok; app wird aufgeführt in der web-console, jedoch beim nächsten Neustart, oder nach dem Zufallsprinzip andere Bereitstellungen, die Liste wird wieder leer)
Struktur der shared lib Ohr explodierte Verzeichnis format:
- META-INF
- MANIFESTIEREN.MF
- application.xml
- lib
- (Sachen, die ich brauchen, um zu teilen, wie Gläser)
- dummyejb.jar (denn es muss etwas beinhalten)
MANIFESTIEREN.MF enthält:
..
Erweiterungs-Name: theSharedLib
Spezifikation-Version: 1.0
Umsetzung-Version: 1.0.0
..
application.xml enthält die grundlegenden Elemente (eine dummyejb ejb-Modul).
Struktur der Referenzierung app:
Unter anderem, es hat META-INF/weblogic-application.xml mit:
<?xml version="1.0"?>
<weblogic-application - >
<Bibliothek ref>
<Bibliothek-name>theSharedLib</library-name>
<Spezifikation-version>1.0</Spezifikation-version>
<Umsetzung-version>1.0.0</Umsetzung-version>
<exact-match - >true</exact-match - >
</Bibliothek-ref>
</weblogic-application - >
Was das problem sein könnte? Sollte ich etwas anderes tun in der shared lib oder der in der referenzierenden apps (1) haben die Referenzen-Liste korrekt und vor allem (2) teilen Sie die Gläser unter den apps?
Ich nehme an, der gemeinsame Gläser innerhalb der lib geladen, mit dem selben classloader in der shared lib für jede Anwendung, verhält sich ziemlich genau wie die sys-classpath Verhalten. Könnten Sie bitte auch bestätigen?
Dank!
Ja, ich implementiert, die mithilfe von weblogic shared library.Deployer ... -Bibliothek mit Erfolg. In der web-Konsole der status der implementierten Bibliothek ist "Bibliothek". Ohne die shared lib bereitgestellt wird, verweisen auf apps beschweren domain startup und erhalten den status "Neu", aber auch wenn der shared lib bereitgestellt ist, die beschriebenen Effekte zu sehen sind.
Seltsam, die Dinge gut Aussehen. Werden die jar-Dateien in lib verwiesen, die in dem MANIFEST.MF?
Nein, Sie sind nicht, sollten Sie? In die Manifest-Datei, die shared lib oder die app (und wie)? Könnten Sie bitte erweitern Sie ein wenig?
InformationsquelleAutor ron | 2010-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Danke für die Informationen. Eigentlich ist das, was ich herausgefunden habe:
1) Die Angebote von verweisen auf Anwendungen verschwinden aus der web-Konsole aus, wenn eine Referenzierung Anwendung fehlschlägt bei der Bereitstellung (seltsam - vielleicht hat es tiefere Gründe, aber das ist ziemlich konsistent jetzt).
2) Leider sind die Klassen innerhalb einer shared lib geladen, durch den classloadern der verschiedenen verweisen auf Applikationen, so dass auf diese Weise ist es nicht möglich zu teilen, zum Beispiel die interface-Klassen für inter-application communication Zwecke.
InformationsquelleAutor ron
Ich denke, dass das MANIFEST.MF der shared lib (ein OHR) sollte eine
Class-Path
Eintrag verweisen auf die jar-Dateien in lib (dies sagt der classloader, wo Sie schauen, um herauszufinden, Klassen). So etwas wie dieses:InformationsquelleAutor Pascal Thivent