我的 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" />
此后问题已解决。
我正在尝试将我的 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" />
此后问题已解决。