我有一个EJB3应用程序,它由一些用于访问DB的EJB组成,并通过会话Bean作为web服务公开。
现在我需要了解两件事:
1) 有什么方法可以阻止SQL异常导致web服务抛出SOAP错误吗?事务由容器处理,当前sql异常会导致抛出RollBackException,从而回滚事务(所需行为)和web服务抛出错误(不需要)。
2) 我希望扩展Web服务,使其能够接收实体列表,并将会话bean持久化。然而,我希望每个实体都在自己的事务中执行,这样,如果一个实体失败,其他实体就不会受到影响(同样,web服务也不应该出错)。
对于(1),我试图捕获RollBackException,但我认为这是在另一个线程上的某个地方抛出的,因为从未到达catch块。我认为对于(2),我需要研究用户事务,但首先我更喜欢容器来管理它,其次我不知道如何强制使用用户事务。
谢谢