我们有一个现有的 C++ 应用程序,我们将逐渐用一个新的基于 Java 的系统来替换它。在我们完全用 Java 重新实现所有东西之前,我们希望 C++ 和 Java 必须相互通信(RMI、SOAP、消息传递等——我们还没有决定)。
现在我的经理认为我们需要 Java 和 C++ 方参与同一个 Oracle DB 事务。这与通常的分布式事务问题有关,但不同于通常的分布式事务问题,即单个进程协调 2 个事务资源,例如数据库和消息队列。
从性能和稳定性的角度来看,我认为跨进程传播事务是一个糟糕的想法,但我仍然会被要求提供解决方案。
我熟悉 XA 事务并且我已经使用 JBoss 事务管理器完成了一些工作,但是我的谷歌搜索在 2 个进程之间传播 XA 事务并没有发现任何好的结果。
我们在 Java 端使用 Spring,他们的文档明确声明他们不提供任何事务传播帮助。
我们不打算使用传统的 Java EE 服务器(例如:IBM Websphere),它可能支持传播(不是我能找到任何权威文档)。
非常感谢任何有关解决方案的帮助或指示。