我们想要拨两个电话:一个用于服务A
,另一个用于服务B
。
我应该如何以交易方式进行这两项调用?例如,我调用服务A
(它将一些数据插入到数据库中),之后我尝试调用服务B
,但这失败了;当我调用服务A
时,我应该如何回滚插入?
我应该拨打"回滚"方法
如果这个电话不起作用怎么办?
答案 0 :(得分:0)
Spring框架提供了一个不同的抽象层 底层交易管理API。
阅读本文: http://docs.spring.io/spring-framework/docs/4.2.x/spring-framework-reference/html/transaction.html
@Transactional(readOnly = true)
public class DefaultFooService implements FooService {
public Foo getFoo(String fooName) {
// do something
}
// these settings have precedence for this method
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
public void updateFoo(Foo foo) {
// do something
}
}