【发布时间】:2016-02-03 06:54:09
【问题描述】:
我在为我的 REST API (JAVA) 建立事务管理器/范围时遇到问题,我的 API 后端中有以下函数,我想将以下所有函数作为一个事务执行,
- 调用第三方 WS 端点
- 解密响应
- 将响应保存到 DB1
- 将响应保存到 DB2
我想确保上述所有步骤都完成或在任何一个失败时回滚,我有足够的信息来进行回滚,但我不知道实施适当的事务管理机制的最佳实践是什么,因为上面提到了每个 API 调用的步骤发生在 3 个单独的类中,
这是我的类结构的伪代码
class CallWS {
public People callThWS() {
// functions related to call third party WS and decryption (step 1,2)
}
}
class People peopleServices {
public People getPeopleData() {
callThWS ppl= new callThWS();
People pplObj = ppl.callThWS();
// save to DB1, (step 3)
return pplObj;
}
}
class People peopleContr {
public People getAllPeople() {
peopleServices ppSer= new peopleServices();
People pplObj2 = ppSer.getPeopleData();
// save to DB2, (Step 4)
return pplObj2;
}
}
请帮助我,
谢谢
【问题讨论】:
标签: java api rest transactions transactionscope