Können Sie JSF benutzerdefinierte Komponenten in verschiedenen OSGi-Bundles haben?

StackOverflow https://stackoverflow.com/questions/203629

  •  03-07-2019
  •  | 
  •  

Frage

Hat jemand verwendet OSGi und JSF zusammen?

Ich frage, weil JSF-Klasse-loader Magie verwendet benutzerdefinierte Komponenten zu finden. Von einem Tutorial (Hervorhebung von mir):

  

Diese Konfigurationsdatei wird am Ende   wobei META-INF / faces-config.xml in der   .jar-Datei, die dies entspricht   Komponente. JSF sucht nach eine solche   Dateinamen in jedem der .jar-Dateien   , die zur Laufzeit (in der geladen   WEB-INF / lib Verzeichnis für .war-Dateien)   und nutzt jede von ihnen in seinem   Aufbau. Auf diese Weise mehr   Komponente .jar-Dateien können kombiniert werden   in einer Web-Anwendung, und alle   Die Komponenten in jedem .jar- beschrieben   wird für die Anwendung verfügbar sein.

Ich möchte in der Lage sein, JSF benutzerdefinierte Komponenten wie OSGi-Bundles zu haben (das heißt kundenspezifische Komponenten sind in verschiedenem OSGi-Bundles als die JSF-Laufzeit) und für JSF der Lage sein, diese zur Laufzeit zu finden.

Hat jemand etwas getan ähnlich?

War es hilfreich?

Lösung

Es ist möglich, auf folgende Weise:

  • Ihr Web-OSGi-Bundle hat "Require-Bundle" in MANIFEST.MF haben, um das Bündel zeigt, die die Komponenten
  • enthält
  • Ihre Komponente jar hat Export-Paket enthält META-INF und Subpackages von META-INF haben, wo es eine JSF ist zugehörige Datei (und natürlich auch Standardpakete der Komponente). Zum Beispiel: Export-Package: META-INF, META-INF.resources ...

Wenn Sie Maven-Bundle verwenden Plugin Sie einen Apostroph und eine gleiche für den Export von META-INF und Unterpaketen verwenden. Zum Beispiel:

<Export-Package>
  a.b.c,
  '=META-INF',
  '=META-INF.resources',
  ...
</Export-Package>

In JSF Spec 2.2 könnte es Teile über JSF-OSGi-Beziehung sein. Um den Fortschritt zu sehen http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-942

Andere Tipps

Ich bin nicht sicher, dass es genau Ihr Problem nicht beantworten, aber ich fand diesen Thread über Frühling und osgi interresting, vor allem diese Tutorial über Spring Dynamische Module (DM) für OSGi ™ Service Platforms , die auch von Interesse sein können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top