У меня есть класс, который реализует реализацию интерфейса конфигурации через DI.Инъекционная зависимость на основе значения в файле конфигурации
@Inject
private PRCConfiguration prcConfig;
Существуют различные реализации интерфейса PRCConfiguration. В настоящее время он вводит реализацию по умолчанию. Я хочу создать значение в текстовом файле конфигурации, который определит, какую конкретную реализацию PRCCOnfiguration нужно вставить. Я хочу, чтобы запись @Inject проверила, какое значение находится в файле конфигурации, и на основе этого введет конкретную реализацию.
Я считаю, что мы можем аннотировать различные реализации через отборочные, а затем вводят, например,
@Inject @NewImplementation
private PRCConfiguration prcConfig;
Но опять же я инъекционного на compiletime упорным кодирования.
Мой конфигурационный файл будет что-то вроде
"injectconfig":"NewImplementation"
впрыснуть реализацию @NewImplementation, впоследствии, если я хочу другой реализации, который будет введен. Я мог бы просто изменить значение файла конфигурации как
"injectconfig":"DifferentImplementation"
и различные варианты осуществления будут введены.
Является ли это возможным с помощью CDI?
Большое спасибо приятелю! – Saad
Снова +1 для @Vetoed, потратил бы несколько часов на отладку в противном случае, но он кажется только доступным в java ee 7? – Saad
Jboss не может найти @Vetoed – Saad