Необязательное внедрение в EJB3-бин или проверки зависимостей во время выполнения - PullRequest
3 голосов
/ 24 мая 2009

Я хочу определить инъекцию так, чтобы только если у внедренного интерфейса был EJB, он будет внедрен. Это используется как плагин для основного EJB. Как это сделать? Есть ли какая-нибудь аннотация для этого?

Я могу использовать @PostConstruct для ручного «введения» переменной. Но тогда я должен справиться с зависимостями самостоятельно. Как я могу обрабатывать зависимости, зная, что одна из них является необязательной? Как мне обработать порядок развертывания различных зависимых модулей.

Обновление: Я вижу, что в Google есть аннотация ввода с параметром optional:

import com.google.inject.Inject;
@Inject(optional = true)

Обновление 2: У JBoss есть кое-что, что может быть тем, что я ищу:

import org.jboss.annotation.IgnoreDependency;
@IgnoreDependency @EJB OtherBean otherBean;

1 Ответ

1 голос
/ 01 сентября 2010

Решением будет использование JNDI, а не инъекция в данном конкретном случае. Таким образом, я имею полный контроль над зависимостями.

...