2016-05-09 14 views
1

In diesen Tagen spricht jeder über Microservices und Containerless-Installationen mit Fat-Jars, und Framework wie Dropwizard oder Springboot unterstützt Sie dabei. Mit allen EE-Komponenten, die als separate Implementierungen verfügbar sind, sollte es möglich sein, ein eigenes Gefß der erforderlichen Komponenten (z.B. Weld, Jersey, Jetty) zusammenzustellen.Wie baut man ein Fettglas für EE CDI?

Wenn Java EE basierte CDI verwendet wird, gibt es dieses Konzept der BDA (Bean Deplyoment Archive), die eine Reihe von CDI-fähigen Beans gebündelt im Glas zusammen mit einem beans.xml enthält einige zusätzliche Informationen für die BDA definiert, wie Abfangjäger.

Wie kombiniere ich diese BDAs in einem einzigen Uberglas, ohne die Informationen der beans.xml zu verlieren? Der maven jar-with-dependencies kopiert nur alle Dateien in einen, überschreibt die vorherige Datei (oder behalte die erste, weiß nicht genau).

Ist das Konzept eines Fettreservoirs überhaupt mit EE CDI kompatibel? Werden einige CDI-Semantiken nicht verloren gehen, wenn sie alle in einen BDA zusammengeführt werden, d. H. Umfang von Alternativen.

+1

Vielleicht [Wildfly Schwarm] (http://wildfly-swarm.io/) wird Mach das für dich - nur eine Idee, die hofft, dass es helfen könnte, da ich es selbst nicht benutzt habe. –

Antwort

0

Hier ein Tipp von den Schweiß Jungs ist http://weld.cdi-spec.org/documentation/#5

Grundsätzlich sollten Sie sich Ihre Erweiterungen aggregieren und eine gültige beans.xml

+0

und was ist mit der Kombination mehrerer BDAs? –

+0

@ GeraldMücke nicht sicher was du meinst .. vielleicht klarstellen. Der springende Punkt hier ist, dass Sie ein Archiv haben, nicht viele. –

+0

Ich habe ein Maven-Projekt mit mehreren Modulen, die Beans enthalten (und beans.xml mit Interzeptoren, Stereotypen usw.), die die BDAs sind. Und ich habe ein Modul "Assembly", das ein Fettglas einschließlich der BDAs und der "Infrastruktur" (Weld, etc) erstellen sollte –