Java 在事务期间提交多个连接

Java 在事务期间提交多个连接,java,connection,weblogic,Java,Connection,Weblogic,如果连接来自weblogic中的数据源,我可以在一个事务期间创建多个连接并对其执行提交吗???请帮助您的意思是来自不同的数据源 你当然可以。这就是JTA的作用 只需确保相关数据源的驱动程序已激活 编辑 我明白你的意思 我开发的应用程序具有这样的特性。假设您的请求处理例程有一些基本的流控制或处理程序结构,您总是可以仅为错误处理部分启动一个新事务,提交该新事务,并回滚原始事务 使用Spring+声明性事务控制,您需要在错误处理例程周围声明一个事务,需要一个新的传播策略,该策略基于您想要的注释,有效

如果连接来自weblogic中的数据源,我可以在一个事务期间创建多个连接并对其执行提交吗???请帮助

您的意思是来自不同的数据源

你当然可以。这就是JTA的作用

只需确保相关数据源的驱动程序已激活


编辑 我明白你的意思

我开发的应用程序具有这样的特性。假设您的请求处理例程有一些基本的流控制或处理程序结构,您总是可以仅为错误处理部分启动一个新事务,提交该新事务,并回滚原始事务


使用Spring+声明性事务控制,您需要在错误处理例程周围声明一个事务,需要一个新的传播策略,该策略基于您想要的注释,有效地,一个自治事务来记录失败,您可以使用来自数据源的第二个连接,并在回滚最初失败的连接时提交该连接(这不需要XA;问题中的措辞表明您希望同时提交两个连接);或者,如果您可以在回滚之前使用实际日志处理原始连接中的日志记录。这可能更简单、更干净,特别是如果您的失败实际上来自包调用,因为它可以在失败发生时处理,而不是让客户机担心。概述:

PROCEDURE log_failure(...)
IS
    PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
    insert ...
    commit;
END log_failure;

嗨,阿德里安。。。如果我的数据源未激活。。那会有什么问题吗是的。。。除非您有其他方法跨事务的“登记”数据源执行两阶段提交。。假设我使用hibernate和数据源作为连接提供程序。。但有一种情况,我需要回滚整个执行过程。。但要随时间插入到一个表中。。还有一些细节。。。我想使用来自数据源的连接,并使用简单的过程使用PreparedStatement插入到表中。。。连接会有问题吗..你的意思是在回滚之前记录失败的自动事务吗?@Mrityunjay:我看不出你的情况与在同一事务中多次插入/更新/删除的正常情况有什么区别