2016-08-02 9 views
0

Ich weiß, dass es möglich ist, Alternativen in der Datei "beans.xml" zu konfigurieren, die in der zu implementierenden EAR eingebettet ist.Aktivierung der CDI-Alternative basierend auf Umgebungseigenschaften

Das Problem ist, dass ich die gleiche EAR für alle Umgebungen verwenden, und die Gruppe von Eigenschaften oder spezifischen Konfigurationen in einem Ordner außerhalb des Pakets gespeichert sind.

Ich muss die Alternative konfigurieren, die ich basierend auf einer "externen beans.xml" oder einem ähnlichen Mechanismus (etwas außerhalb der EAR) verwenden werde.

Irgendwelche Ideen?

Vielen Dank.

Antwort

1

Sie können keine Alternativen verwenden, wenn die Eigenschaften außerhalb des Pakets liegen. Sie können einen CDI-Producer schreiben, der die Eigenschaften liest und mit BeanManager die Schreibimplementierung zurückgibt.

+0

Danke für Ihre Antwort. Ich sehe Ihren Ansatz, ich kann einen CDI-Producer implementieren, um das eine oder andere Bean basierend auf einigen Eigenschaften zu erzeugen, aber ... Ich kann die Rolle von BeanManager hier nicht sehen. Ich kann einfach das Ergebnis des Produzenten einspeisen, kannst du erklären warum der BeanManager? Vielen Dank! – edutesoy

+0

Verwenden Sie den BeanManager, wenn Sie Bean-Instanzen dynamisch nach Namen abrufen müssen, ich kenne die Logik hinter den Eigenschaften nicht (der Name der Bean?) – fantarama

+0

Ich sehe Ihren Punkt, danke! – edutesoy

Verwandte Themen