2011-11-02 72 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>添加異常類名解決了這個問題。