将XA事务与JDBC、MySQL和Microsoft SQL Server一起使用
假设我在一台机器上运行MySQL服务器,在第二台机器上运行Microsoft SQL server,在第三台机器上运行我自己的自定义Java数据库 如何使用X/Open XA标准在这三个平台上运行分布式事务将XA事务与JDBC、MySQL和Microsoft SQL Server一起使用,mysql,sql-server,jdbc,xa,Mysql,Sql Server,Jdbc,Xa,假设我在一台机器上运行MySQL服务器,在第二台机器上运行Microsoft SQL server,在第三台机器上运行我自己的自定义Java数据库 如何使用X/Open XA标准在这三个平台上运行分布式事务 X/Open XA是否指定在TCP或UDP上分层的协议?我找不到这方面的任何信息。XA似乎没有指定任何关于网络的内容,在这种情况下,如何使用它跨MySQL、SQL Server和自定义Java数据库运行分布式事务。它在数据库上提供对两阶段提交事务的支持。通常,它们提供了不同的Connecti
X/Open XA是否指定在TCP或UDP上分层的协议?我找不到这方面的任何信息。XA似乎没有指定任何关于网络的内容,在这种情况下,如何使用它跨MySQL、SQL Server和自定义Java数据库运行分布式事务。它在数据库上提供对两阶段提交事务的支持。通常,它们提供了不同的ConnectionPool实现。如果Java应用程序在应用程序服务器上运行,则必须显式定义XA数据源 XA不需要指定任何低级网络要求。这是一个应用程序协议,WikiPedia提供了一个很好的概述:
因此,如果您想要实现分布式连接,所有参与者都必须提供一个支持XA的接口。让我看看我是否理解您的意思。事务管理器需要链接到MySQL的客户端库,该库实现MySQL服务器期望请求使用的应用程序协议。这可以建立在TCP或UDP或任何其他基础上。它没有具体说明。SQL Server和自定义Java数据库也是如此。总共需要链接3个连接库。MySQL和SQL Server的客户端库已经实现。为Java数据库实现它是为Java数据库实现XA支持的一部分。3个连接中的每一个都提供了创建某种XA对象的方法,事务管理器可以在创建分布式事务时使用这种方法。实际上,TCP是通过UDP使用的,即使它添加了一个响应行程。你知道数据包通常是什么样子吗?具体何时发送要执行的事务语句?它们是准备信息的一部分吗?不,我不知道这些信息包是什么样子的。我想这是特定于数据库供应商的,您不必太在意。非常确定这不是在TCP/IP层上处理的。这是一个特定于应用程序的协议,ISO/OSI第5-7层。