编程语言
首页 > 编程语言> > Weblogic在javax.ejb.EJBException中包装应用程序异常

Weblogic在javax.ejb.EJBException中包装应用程序异常

作者:互联网

我的耳朵应用工作正常.但是突然它开始在一些方法调用中抛出javax.ejb.EJBException,而不是返回原始的Application Exception(用@ApplicationException注释(rollback = true).现在原始的应用程序异常包含在EJBException中.目前其他的开发人员那个在项目中工作的人正在休假.所以我不知道他对代码发生了什么.这个应用程序异常和ejb远程接口都在一个单独的jar文件中,它作为weblogic中的共享库部署.

我想知道什么可以负责抛出这个EJBException而不是抛出应用程序异常.我想可能是weblogic没有正确检测到@ApplicationException注释.有人可以帮我解决这个问题吗?

解决方法:

我能够通过在ejb方法签名的“throw”子句中添加应用程序异常来解决问题.

以前所有的ejb类和应用程序异常类都在同一个jar文件中.但后来应用程序异常类和ejb远程接口被放到另一个名为“api”jar文件的jar文件中,相关的ejb文件保存在之前的jar文件中.

使用@ApplicationException声明应用程序异常似乎已经足够了,如果我们需要它在所有类都在同一个jar文件中时将其视为应用程序激活.但是,如果应用程序异常类位于单独的jar文件中,我们需要在ejb方法签名的“throw”子句中添加此应用程序异常,以将其解释为weblogic服务器的应用程序异常.

标签:ear,java,ejb-3-0,java-ee,weblogic-10-x
来源: https://codeday.me/bug/20190901/1781000.html