2011-11-02 81 views
0

此应用程序从oc4j迁移到weblogic。几乎所有功能都正常工作。自定义例外包装在weblogic

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

在OC4J我们用来获取错误信息为我们指定一个像 请更明确的标准,以你的搜索条件,以便查看搜索结果...]

但在weblogic这个异常被包装在java.rmi.RemoteException中:我们没有得到CBCMException

是否有任何方法来获取我们抛出的origianl异常,然后将supercalss修改为Exception。

这个例外广泛地投入到我们的项目中。

java.rmi.RemoteException:EJB Exception:;嵌套的异常是: 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) at 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(未知 源)在 ae.co.etisalat.cbcm.web.util.search.SearchModel.selectMatchingRecords(未知 源)在 ae.co.etisalat .cbcm.web.util.search.struts.SearchAction.searchResults(Unknown Source)at ae.co.etisalat.cbcm.web.util.search.struts.SearchAction.execute(Unknown Source)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)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:820)在 weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:227) 在 weblogic.servlet.internal.StubSecurityHelper.invokeServlet (StubSecurityHelper.jav一: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) 处 weblogic.servlet.internal.FilterChainImpl.doFilter ae.co.etisalat.cbcm.web.util.auditing.SessionFilter.doFilter(未知 源)(FilterChainImpl.java:56 ) 在ae.co.etisalat.cbcm.web.util.security.LoginFilter.doFilter(未知 源)在 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) 在 weblogi c.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 =请将更具体的标准应用于您的 搜索条件以查看您的搜索结果...] at ae.co.etisalat.cbcm.biz.util.search.persistencymapping.SearchManager.selectMatchingRecords(Unknown Source)at ae.co.etisalat.cbcm。 app.util.search.helper.SearchHelper.selectMatchingRecords(未知 来源)在 ae.co.etisalat.cbcm.app.util.search.impl.SearchEJBBean.selectMatchingRecords(未知 来源)在

感谢为你的时间和答复。

问候 Muthuvel.P

回答

1

我加入的类@ApplicationException并在<assembly descriptor>添加异常类名解决了这个问题。