CDI - installazione condizionale
-
29-09-2019 - |
Domanda
Ho diversi componenti che sono applicazioni ambito. A seconda di quale ambiente mi trovo, voglio installare uno o l'altro. In JBoss Seam, vorrei utilizzare @Install (false), quindi configurare il fagiolo che volevo tramite components.xml.
Esiste un metodo simile per fare questo in CDI / WELD?
Grazie,
Walter
Soluzione
Bene, si può sempre usare un metodo produttore e decidere quale applicazione di istanziare sulla base di alcune configurazioni del tuo. Ricordate che nel CDI la quantità di XML è messo al minimo.
Quindi, qualcosa di simile:
@Produces
public Component createComponent() {
if (configuration.isSomething()) {
return new ComponentImpl1();
} else {
return new ComponentImpl2();
}
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow