我在某处读到,为了使用JTA和Tomcat(我也使用Hibernate),您需要使用JTA版本的JDBC驱动程序。这是真的?
如果是这样,this驱动程序是否包含JTA支持?Microsoft的MS-SQL Server JDBC 3.0驱动程序是否包含对JTA的支持?
感谢,
以太
我在某处读到,为了使用JTA和Tomcat(我也使用Hibernate),您需要使用JTA版本的JDBC驱动程序。这是真的?
如果是这样,this驱动程序是否包含JTA支持?Microsoft的MS-SQL Server JDBC 3.0驱动程序是否包含对JTA的支持?
感谢,
以太
是的,它的作用。请参阅com.microsoft.sqlserver.jdbc.SQLServerXADataSource。 您还可以阅读有关使用MS SQL进行XA交易的更多信息here
但是拥有XA驱动程序是必要的,但并不足够。你也必须有一个JTA事务管理器,这不是JDBC的一部分。
我一直使用用于MS SQL Server的jTDS驱动程序。
MS SQL Server是由从Sybase获得的基础构建的,因此它们都使用表格数据流作为协议。
正如duffymo说你需要一个JTA事务管理器,如:
值得注意的是,jTDS似乎只支持模拟XA? – 2012-08-14 15:03:13
存在_“实验性真正的分布式事务支持”_显然:在连接字符串中设置参数“xaEmulation = false”:http://jtds.sourceforge.net/faq.html。另外,请阅读repo中的“README.XA”文件:https://github.com/milesibastos/jTDS/blob/master/README.XA - _“这个实现非常成熟,不能推荐用于在这个阶段,当需要真正的两阶段提交支持时,它可能对开发很有用。“_ – stolsvik 2014-11-29 23:07:17
是感谢。我当然知道,JTA特定的JDBC驱动程序是缺少的元素 – Ittai 2010-10-25 21:02:37