如何将Spring bean绑定到JNDI,以便可以从其他战争中访问它?

问题描述

我在野外部署了WAR和EAR。耳朵有一个弹簧靴应用程序,可以旋转特定的豆。我希望在jndi中提供该bean实例,例如

java:/ mySpringBean

,以便我可以从WAR(它又具有spring上下文)中进行查找。 目标是重用从EAR弹簧启动实例化的实例。

首先,我不确定这是否可能, 我试过了 https://konstantinpavlov.net/blog/2009/01/01/how-to-export-spring-managed-bean-to-jndi/ 但是它似乎不起作用,从上面添加代码后,我在JNDI视图下的wildfly管理控制台中看不到任何条目。

解决方法

选择其中一个Spring应用程序是bootStrapping的类之一。在我的情况下,有一个starupClass将在应用程序启动时运行。然后,我将Bean自动连接到该类。得到了IntialContext并绑定了bean。

Context ctx = new InitialContext(); ctx.bind(“ mySpringBean”,mySpringBean);