我有一个多层项目,只有在需要远程JNDI资源可用时,提供Web访问点的应用程序服务器才应部署其WAR文件。
JNDI查找在本地网络内的其他服务器上执行,不允许外部访问。
我的问题是,现在,在开始部署WAR之前无法确定是否有任何必需的EJB模块 - 如果未解析JNDI查找(使用远程服务),将无法正常运行使用依赖注入,因此必须在启动时出现。)
当然,我可以在我的Maven构建中设置一个计时器,在模块部署之间等待任意数秒,以允许EJB启动,但这对我来说似乎是一个粗暴的黑客,它会不是很可靠,取决于构建的机器。
如果在部署之前可以直接在应用程序服务器上或在Maven构建内完成JNDI检查,我会很高兴。
有类似的东西吗?我找到this question,但从来没有答案......
答案 0 :(得分:0)
我没有尝试过,但这可以通过@Resource
或创建WEB_INF/ejb-jar.xml
并使用lookup-name
实现。请参阅https://community.jboss.org/thread/213106。