我的 beans xml 从 spring 2.5 升级到 4,我得到 "javax.naming.NameNotFoundException"

I am getting "javax.naming.NameNotFoundException" on upgrading from spring 2.5 to 4 in my beans xml

我正在尝试将我的 spring 网络应用程序从 spring 2.5 升级到 spring 4。 我还将我的应用程序从 weblogic 升级到 jboss eap 7.2.

我的应用程序使用 EJB 无状态 bean 映射,如下所示 @Stateless(name = "xxxxxFacade", mappedName = "xxxxxxLogging")

我的 Bean Xml 如下所示

豆子XML:

<bean id="xxxxxFacade"
        class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">
        <property name="jndiName"
            value="msgLogging#com.xxx.xxxx.xxxxLoggingFacade" />
        <property name="businessInterface"
            value="com.xxx.xxxx.xxxxLoggingFacade" />
    </bean>

启动时 Jboss EAP 7.2 我得到以下异常

相关原因:org.springframework.beans.factory.BeanCreationException:创建名称为 'xxxxxFacade' 的 bean 在 class 路径资源 [beans.xml] 中定义时出错:调用 init 方法失败;嵌套异常是 javax.naming.NameNotFoundException: msgLogging#com.xxx.xxxx.xxxxLoggingFacade -- service jboss.naming.context.java."msgLogging#com.xxx.xxxx.xxxxLoggingFacade"

找不到根本原因,这是由于 jboss 还是 spring 升级造成的,请帮忙。

由于 Jboss 升级,ejb 以不同的方式部署,我们需要像下面那样指定 jndi 的值

ejb:applcation/module/uniqueName!FullPathofJavaClass.

EX:

<property name="jndiName"           value="ejb:ApplcationName/ModuleName/UniqueName!com.xx.xx.xx.xxxFacade" />

此后问题已解决。