У меня есть веб-приложение Java EE 6, работающее на Apache TomEE.Может ли CDI сканировать сконфигурированную папку во время впрыска для боба? (горячее развертывание)
Мое приложение определяет несколько интерфейсов A, B и C. У меня есть несколько файлов .jar, содержащих реализации для этих интерфейсов. Всякий раз, когда клиент делает определенный запрос, мое веб-приложение использует CDI для сканирования этих реализаций и внедряет любую реализацию.
Однако я не хочу заранее настраивать все эти файлы .jar реализации по имени. Я хотел бы просто настроить расположение папки, в которой находятся все эти файлы .jar реализации, и позволить CDI сделать обнаружение. Я хочу, чтобы CDI повторно просматривал эту папку при каждой инъекции, поэтому я могу добавлять и удалять файлы .jar без перезапуска моего веб-приложения.
Использование Tomcat VirtualWebappLoader или Tomice (1.6.0)'s jars.txt, я могу успешно установить такую папку и иметь CDI-вставку. Jar beans, которые были доступны при запуске приложения. Тем не менее,
- Я не был в состоянии вводить .jar бобы, которые не были доступны при запуске приложения, но добавил позже меня
- Мой веб-приложение продолжает использовать инъекционные бобы из которых я удалил .jar полностью
Смогу ли я когда-либо добиться такого «горячего развертывания» с CDI? Если нет, можете ли вы помочь мне понять, почему?
John Ament имеет право. Могу ли я спросить, каково ваше функциональное требование? VirtualWebappLoader не рекомендуется для производства и для разработки, кажется, достаточно просто перезапустить вместо этого? –
Webapp функционирует как структура. Разработчики клиентских приложений могут отбросить компоненты в этой предварительно определенной папке и попросить Webapp обработать некоторые данные, используя компоненты, которые они только что установили. Поскольку Webapp будет одновременно обслуживать несколько разработчиков клиентских приложений, перезапуск вроде бы сказал. Я понимаю, что это не рекомендуется для производства, я в основном изучаю возможности CDI. – Caroline