我在Apache TomEE上运行了一个Java EE 6 Web应用程序。
我的应用程序定义了一些接口A,B和C.我有多个包含这些接口实现的.jar文件。每当客户端发出特定请求时,我的Web应用程序都会使用CDI扫描这些实现并注入所需的任何实现。
但是,我不想提前按名称配置所有这些实现.jar文件。我很乐意只配置所有这些实现.jar文件所在的文件夹位置,并让CDI进行发现。 我希望CDI在每次注入时重新扫描此文件夹,因此我可以添加和删除.jar文件,而无需重新启动我的Web应用程序。
使用Tomcat的VirtualWebappLoader或TomEE(1.6.0)的jars.txt,我能够成功设置这样一个文件夹,并在应用程序启动时使用CDI注入.jar bean。然而,
我是否能够通过CDI实现这种“热部署”? 如果没有,你能帮我理解原因吗?
答案 0 :(得分:3)
不,这是不可能的。 CDI在部署时扫描文件。