需要春季事务与REQUIRES_NEW:回滚事务
我有一个具有事务属性的方法:propagation = Propagation.REQUIRES_NEW
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void createUser(final UserBean userBean) {
//Some logic here that requires modification in DB
}
此方法可以同时调用多次,如果发生错误,则对于每个事务,此方法将回滚(独立于其他事务)。
问题在于,这可能会迫使Spring创建多个事务,即使另一个事务可用,也可能导致一些性能问题。
Java文档 说:propagation = Propagation.REQUIRED
Support a current transaction, create a new one if none exists.
这似乎解决了性能问题,不是吗?
回滚问题如何?如果新方法调用在使用现有事务时回滚,该怎么办?这不会回滚整个事务,甚至以前的调用吗?
[编辑]我想我的问题不够清楚:
我们有数百个客户端连接到我们的服务器。
对于每个客户端,我们自然需要发送有关事务的反馈(OK 或异常 ->回滚)。
我的问题是:如果我使用,这是否意味着只使用一个事务,如果第100个客户端遇到问题,第1个客户端的事务也会回滚?REQUIRED