Frage

Ich habe mehrere Komponenten, die Anwendung scoped. Je nachdem, welche Umwelt Ich bin in, möchte ich das eine oder andere installieren. In JBoss Seam, würde ich verwenden @Install (false), dann die Bean konfigurieren, dass ich durch components.xml wollte.

Gibt es eine ähnliche Methode, dies zu tun in CDI / WELD?

Danke,

Walter

War es hilfreich?

Lösung

Nun, können Sie immer eine Producer-Methode verwenden und entscheiden, welche Implementierung instanziiert werden basierend auf einiger Konfiguration von Ihnen. Denken Sie daran, dass in CDI die Menge an xml ist auf Minimum gestellt.

Also, so etwas wie:

@Produces
public Component createComponent() {
   if (configuration.isSomething()) {
       return new ComponentImpl1();
   } else {
       return new ComponentImpl2();
   }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top