4

我们的架构包括基于 JAX-WS 规范开发的 Web 服务,使用

地铁。这些服务作为单独的战争部署在单个 Glass Fish App 服务器上

文件。所有 Web 服务在内部使用单个数据库。数据访问层使用 Hibernate 实现,Spring 用于在服务内部实现事务。现在,当我们想做一个跨越多个 Web 服务的事务时,有哪些方法是可能的?

  1. 我们需要使用 JTA 还是可以避免使用 JTA?
  2. 我们是否需要使用 Metro 支持的 WS-AtomicTransaction 规范?
4

1 回答 1

0

我正在回答我自己的问题,因为到目前为止还没有答案。但是会欣赏同样的观点。我觉得最好的架构是将每个 Web 服务视为独立的,并使用 WS-AtomicTransactions/WS-Coodrination 进行跨 Web 服务的事务。当出于性能或其他一些原因需要将某些 Web 服务部署到不同的 glassfish 域或不同的服务器时,这也将有所帮助。在内部,这些 JAX-WS Metro 服务将使用 glassfish 上的 JTA 来实现 2PC。然而,这隐藏在 Metro 实施中

维普尔沙阿

于 2011-04-18T07:02:59.477 回答