此应用程序从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
答案 0 :(得分:1)
我通过在类中添加@ApplicationException
并在<assembly descriptor>
中添加异常类名来解决了这个问题。