这个问题是我的工作的继续,使我的应用程序正确JEE,我成功地将我的POJO作为JEE共享库(EAR)。有关包装的更多详细信息,请参阅JEE shared library in WebLogic
现在我喜欢拦截这个库的部署,即我喜欢在EAR中运行一些代码实现某种像interface
这样的javax.enterprise.deploy
。在实现中,我喜欢安装一些数据记录,如果检测到JEE库的更新,并且如果我无法加载数据项,我想抛出异常导致WebLogic拒绝更新(即更新失败,以便我可以保持最后的已知状态)
实际上,我在JEE容器中寻找类似于OSGi Bundle Activator钩子的东西?我们有什么东西吗?我查看了https://docs.oracle.com/middleware/1213/wls/DEPRF/api_intro.htm#DEPRF112的规格,但这更多是远程部署工具,而不是嵌入在库中的东西。
经过广泛的研究,我的结论是,JEE无法为您提供这种控制。上面的JEE规范是关于如何编写可以执行远程部署的自己的工具,而WebLogic似乎已经很好地实现了规范。所以答案是NO
我们无法拦截部署并运行代码作为部署的一部分