#A服务调用B服务,seata事务失效
#背景: springboot两个微服务,seata,nacos
#问题:
1.是否必须使用rpc框架?(目前是手写http)
2.是否必须使用注册中心?
3.A服务绑定了xid,B服务也能拿到,为啥模拟异常后事务不生效
A服务:
@GlobalTransactional
@RequestMapping("test")
public R test() {
jdbcTemplate.update("INSERT INTO sys_user ( username) VALUES ( 'admin服务');");
HttpRequest.post("http://127.0.0.1:8081/sy-api/api/test").header(RootContext.KEY_XID, RootContext.getXID()).execute();
int i = 1 / 0;//模拟异常
return R.ok();
}
B服务:
@RequestMapping("test")
public R test() {
jdbcTemplate.update("INSERT INTO sys_user ( username) VALUES ( 'api服务');");
//int i = 1 / 0;
return R.ok();
}