我正在尝试将Spring Web应用程序从Spring 2.5升级到Spring 4。 我还将我的应用程序从weblogic升级到jboss eap 7.2。
我的应用程序使用EJB无状态bean映射,如下所示 @Stateless(名称=“ xxxxxFacade”,mappedName =“ xxxxxx记录”)
我的Bean Xml如下所示
Bean 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:在类路径资源[beans.xml]中定义名称为“ xxxxxFacade”的bean创建错误:初始化方法的调用失败;嵌套的异常是javax.naming.NameNotFoundException:msgLogging#com.xxx.xxxx.xxxxLoggingFacade-服务jboss.naming.context.java。“ msgLogging#com.xxx.xxxx.xxxxLoggingFacade”
无法找到根本原因,这是由于jboss还是spring升级引起的,请帮助。
答案 0 :(得分:0)
由于Jboss升级,ejb的部署方式有所不同,我们需要像下面这样指定jndi的值
ejb:applcation / module / uniqueName!JavaClass的完整路径。
EX:
<property name="jndiName" value="ejb:ApplcationName/ModuleName/UniqueName!com.xx.xx.xx.xxxFacade" />
问题在此之后解决。