2012-08-02 43 views
0

我有一个远程调用ejb 3的spring mvc portlet。现在,当ejb引发异常时,在门户端我只看到'EJB Exception'。我没有访问实际的ejb 3日志。那么,我该怎么做才能在门户端提供整个异常堆栈跟踪?将异常堆栈从ejb 3传播到portlet

回答

0

您可以捕获EJBException(注意它是一个RuntimeException,因此,您的代码不是'必需的'),然后调用getCausedByException方法来访问原始异常。有了它,你可以做任何你想做的事,包括重新抛出它。

+0

谢谢。像这样在前端和后端传播异常是一种很好的做法吗? – Victor 2012-08-13 15:20:50

+1

这取决于。例外情况是例外情况,也就是说,它们永远不会是有效的结果。当您处理不同的软件层时,您应该始终注意将正确的信息发送到其他层。因此,如果您发送的信息表明某一层认为没问题,但另一层认为不正常,那么您有一个“例外”:-)其他情况处于“错误”状况,如硬件故障,网络问题等上。但在这些情况下,您可能需要考虑三次,然后才能让其他层关注这些具体细节。 – jpkrohling 2012-08-13 17:20:53