Spring应用程序级事务

Spring应用程序级事务,spring,service,transactions,spring-transactions,Spring,Service,Transactions,Spring Transactions,我们正在使用一个服务提供者来填充一些通用服务。某些服务需要在事务中完成,如下所示: service.transferAccount() service.changeAccountType() service.closeAccount() 因此,我们需要开发一个方法TransderAccount\u changeCount\u CloseAccount(),它可能如下所示 TransderAccount\u ChangeAccount\u CloseAccount() 我们这里没有任何数据库。这

我们正在使用一个服务提供者来填充一些通用服务。某些服务需要在事务中完成,如下所示:

service.transferAccount()
service.changeAccountType()
service.closeAccount()
因此,我们需要开发一个方法TransderAccount\u changeCount\u CloseAccount(),它可能如下所示

TransderAccount\u ChangeAccount\u CloseAccount()

我们这里没有任何数据库。这些只是服务。。。事务需要在服务级别进行管理

该项目基于Spring。
您能告诉我这个用例的最佳方法是什么吗?

那么,如果您没有任何数据库,更改存储在哪里?您需要事务资源来支持事务。服务提供商连接到自己的数据库以存储和更新信息。它为其他应用程序提供高级服务。所以,为了转移帐户,我们只运行service.transferAccount('AccountA','AccountB',100$),而不直接访问数据库。但在某些情况下,我们需要在事务中运行一组服务。就像上面的示例一样。然后只需使调用方法具有事务性。有什么问题吗?这三个服务是本地Spring服务还是远程web服务?这些服务是远程web服务。服务提供商不知道,对于我的用例,上面提到的三个服务将作为事务运行。那么,应该还有一个web服务提供这种三位一体的功能。无法从web服务客户端启动事务。
try{
service.transferAccount()
service.changeAccountType()
service.closeAccount()
}catch(All Errors){
//find which service failed and rollback until everything backs to start state

}