【问题标题】:Java EE: Perform one database transaction in two webservice callsJava EE:在两个 Web 服务调用中执行一个数据库事务
【发布时间】:2014-07-25 08:47:17
【问题描述】:

我正在开发一个托管在 weblogic (10.3.4.0) 中并连接到 Oracle 数据库的 Java EE 应用程序。我使用 UserTransaction 来执行数据库操作。操作由来自 C++ 客户端的 webservices 调用触发。我有两个 web 服务,我想作为 原子 操作执行,即如果在第二个 web 服务调用期间发生任何异常事件,则回滚到初始状态。注意:我无法将这两个 Web 服务合并为一个。

我首先尝试使用基于容器的 transaction,但它似乎不适合,因为我无法控制提交何时发生(我不希望它发生在两个 web 服务之间)。 我目前正在尝试使用有状态 bean,但还没有找到解决方案。目前所有的网络服务都是无状态的。 有人会对我的问题提出一些建议,或者有任何提示表明这是不可能的吗?

谢谢

【问题讨论】:

  • WS 是否使用相同的数据库?
  • 是的,只有一个数据库和一个jee服务器。

标签: web-services jakarta-ee transactions weblogic


【解决方案1】:

您可能需要 ws-transaction/ws-coordination 模块或服务补偿。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多