java - 如何在 SOA 架构中使用事务和回滚

标签 java web-services transactions soa esb

我目前正在从事 SOA 项目。

我必须开发几个处理链,也就是说,在 Java 中的 ESB 中链接网络服务的网络服务。

由于链接的每个网络服务都可能抛出不同的异常,我考虑使用事务来回滚网络服务行为。

但是,当每个服务都不同时,我不知道这在 SOA 环境中是否可行。我搜索了它并找到了一些关于 AtomicTransactions 的信息,但我不确定它是否可以用来解决我的问题。

总而言之,我的问题是回滚服务是否真的可行?如果可以,我该如何设置?

提前致谢。

最佳答案

在服务之间使用事务不是一个好的做法,因为您为不一定值得信赖的组件保留了资源,而且服务进程通常运行时间很长(我在“transactional-integration anti-pattern”中详细介绍了这一点。

正如有人在评论中提到的,我发现“saga pattern”是处理这些长时间运行的交互的更好方法

关于java - 如何在 SOA 架构中使用事务和回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21291856/

相关文章:

java - 如何创建 RowEncoder 以将 Tuple<A,Row> 映射到 Row?

java - Spring MVC 3 表单 validator 不在 .jsp 中显示错误消息

java - Jackson ObjectMapper 大写/小写问题

sql - 如何调试CMT事务边界?

transactions - 交易同步注册问题

java - 如何知道Java方法是否正在使用新的JTA事务?

java - img标签的base32图像

c# - 使用内部应用程序的模型将公共(public)表单提交到安全的内部应用程序

c# - WCF 异常 : Could not find a base address that matches scheme http for the endpoint

web-services - 远程调试 Web 服务时出现问题