CDI - условная установка - PullRequest
1 голос
/ 24 июня 2010

У меня есть несколько компонентов, которые являются областью применения.В зависимости от того, в какой среде я нахожусь, я хочу установить один или другой.В JBoss Seam я использовал бы @Install (false), а затем настраивал нужный компонент через компонент.xml.

Есть ли подобный метод для этого в CDI / WELD?

Спасибо,

Уолтер

1 Ответ

1 голос
/ 24 июня 2010

Ну, вы всегда можете использовать метод продюсера и решить, какую реализацию создать, основываясь на вашей конфигурации. Помните, что в CDI количество xml сведено к минимуму.

Итак, что-то вроде:

@Produces
public Component createComponent() {
   if (configuration.isSomething()) {
       return new ComponentImpl1();
   } else {
       return new ComponentImpl2();
   }
}
...