我有一个容器管理事务的EJB。我有一个方法(用作REST调用),它调用另一个EJB中我使用JNDI注入的东西(不确定是否重要),并且它返回一个扩展RuntimeException的Exception(因此它导致事务回滚),它通过ExceptionMapper转换为404响应。在Payara 4.1中无声地滚动事务
我想这个异常是从我的REST调用返回的,我不介意它在日志中,但我不希望我的日志被垃圾邮件引起的EJBExceptionRolledBackException堆栈跟踪(堆栈跟踪出于某种原因被打印三次)。我相信这三个堆栈跟踪中的两个会在服务器返回到REST调用的最终方法之前得到记录。
无论哪种方式,只要我找出如何抑制这些日志记录动作之一,我会找出一种方法来阻止所有这三种。有没有人有一个想法如何抑制这种记录?
谢谢!我希望只有一些我可以触发的日志记录标志或什么,因为毕竟这只是关于日志记录,而没有别的,但我会考虑改变这种处理方式。 我会看看是否保留容器管理的事务,但不提交任何事情,并抛出ApplicationException将工作。并指定该方法抛出异常将强制任何调用该方法来处理它,并希望他们会记得在需要时回滚事务。 – SpooXter
我建议检查有关交易的规格。值得一读) –