自定义异常包含在weblogic中

时间:2011-11-02 12:26:15

标签: exception weblogic

此应用程序从oc4j迁移到weblogic。几乎所有功能都运行正常。

我们正在抛出CBCMException,它是RuntimeException的子类。当某些情况发生时。

在oc4j中,我们曾经像我们指定的那样获取错误消息 请根据您的搜索条件应用更具体的标准,以便查看您的搜索结果...]

但是在weblogic中,这个异常包含在java.rmi.RemoteException下:我们没有得到CBCMException

有没有办法获得我们抛出的origianl Exception,然后将supercalss修改为Exception。

这个例外在我们的项目中被广泛使用。

  

java.rmi.RemoteException:EJB异常:;嵌套异常是:   CBCMException [errorCode =请将更具体的标准应用于您的   搜索条件,以便查看您的搜索结果...]   weblogic.ejb.container.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:106)   在   weblogic.ejb.container.internal.BaseRemoteObject.handleSystemException(BaseRemoteObject.java:857)   在   weblogic.ejb.container.internal.BaseRemoteObject.handleSystemException(BaseRemoteObject.java:809)   在   weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:518)   在   weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:49)   在   weblogic.ejb.container.internal.BaseRemoteObject .__ WL_postInvokeTxRetry(BaseRemoteObject.java:444)   在   weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:53)   在   ae.co.etisalat.cbcm.app.util.search.impl.SearchEJB_siuh74_EOImpl.selectMatchingRecords(未知   来源)at   ae.co.etisalat.cbcm.web.util.search.SearchModel.selectMatchingRecords(未知   来源)at   ae.co.etisalat.cbcm.web.util.search.struts.SearchAction.searchResults(未知   来源)at   ae.co.etisalat.cbcm.web.util.search.struts.SearchAction.execute(未知   来源)at   org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)   在   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)   在   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)   在   org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)   在javax.servlet.http.HttpServlet.service(HttpServlet.java:727)at   javax.servlet.http.HttpServlet.service(HttpServlet.java:820)at at   weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:227)   在   weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)   在   weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)   在weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)   在   weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)   在   ae.co.etisalat.cbcm.web.util.auditing.SessionFilter.doFilter(未知   来源)at   weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)   at ae.co.etisalat.cbcm.web.util.security.LoginFilter.doFilter(未知   来源)at   weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)   在   weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)   在   weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run(WebAppServletContext.java:3681)   在   weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)   在   weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)   在   weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)   在   weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)   在   weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)   在weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)at   weblogic.work.ExecuteThread.run(ExecuteThread.java:178)引起:   CBCMException [errorCode =请将更具体的标准应用于您的   搜索条件,以便查看您的搜索结果...]   ae.co.etisalat.cbcm.biz.util.search.persistencymapping.SearchManager.selectMatchingRecords(未知   来源)at   ae.co.etisalat.cbcm.app.util.search.helper.SearchHelper.selectMatchingRecords(未知   来源)at   ae.co.etisalat.cbcm.app.util.search.impl.SearchEJBBean.selectMatchingRecords(未知   来源)

感谢您的时间和回复。

问候 Muthuvel.P

1 个答案:

答案 0 :(得分:1)

我通过在类中添加@ApplicationException并在<assembly descriptor>中添加异常类名来解决了这个问题。