【问题标题】:Transaction propagation in multiple servlet context with multiple data source具有多个数据源的多个 servlet 上下文中的事务传播
【发布时间】:2012-09-12 13:25:30
【问题描述】:

我们在集群架构中模块化了我们的应用程序,例如使用休眠和打包在多个战争文件中的具有不同数据源的多个 servlet 上下文。例如:moldule1->hibernate sessionfactory ->datasource 1(module1.war)、moldule2->hibernate sessionfactory ->datasource 2(module2.war)....

Spring RMI 用于集成 module1 和 module2 服务。

我的问题是,如何在这些模块之间传播事务,以便当模块 2 插入失败时,模块 1 应该回滚?

【问题讨论】:

  • 你正在尝试实现两阶段提交?
  • 听起来 OP 想通过 EJB 风格的分布式事务传播来使用 XA,而不是实现它。

标签: spring transactions rmi propagation


【解决方案1】:

根据Spring documentation,您不能不使用 EJB:

Spring 对 RMI 的支持,您可以通过 RMI 基础架构透明地公开您的服务。完成此设置后,您基本上拥有类似于远程 EJB 的配置,除了 没有对安全上下文传播或远程事务传播的标准支持这一事实。

...和:

最后但同样重要的是,EJB 优于 RMI,因为它支持标准的基于角色的身份验证和授权以及远程事务传播

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 2020-01-27
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 2022-09-27
    相关资源
    最近更新 更多