java - 实现自定义 JTA XAResource 以与 hibernate 一起使用

标签 java transactions jta

我对数据库有两级访问:第一个使用 Hibernate,第二个使用 JDBC。 JDBC 级别使用非事务表(我使用 MyISAM 来提高速度)。我想让这两个级别在事务中工作。我读到了有关 JTA 的信息,它可以管理分布式事务。但互联网上缺乏关于如何实现和使用自定义资源的信息。

有人有使用自定义 XAResources 的经验吗?

最佳答案

I want make both levels works within transaction.

然后您必须将存储引擎更改为 InnoDB,MyISAM 表不支持事务(从技术上讲,您不会收到错误,但回滚不会回滚任何内容)。

Does any one have experience with using custom XAResources?

我不太明白你在说什么。我在这里看到的唯一 XA 资源是您的数据库,您不需要实现任何自定义内容。您需要做的是使用很可能从两个 XA 数据源(受 MySQL Connector/J 5.0.0+ 支持)获得的 XA 连接,使用 JTA API 并让事务管理器完成其工作。

但说实话,你真的应该明确你的需求。可能还有比使用 XA 更简单的其他选择。如果以上所有内容听起来都像中文,那么我感觉不要使用 XA 是一个很好的建议。

关于java - 实现自定义 JTA XAResource 以与 hibernate 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2650409/

相关文章:

java - 为什么 Firefox 会在 20 秒后终止我的小程序?

java - ibm liberty 中的 JTA 事务配置

java - 将 jboss 迁移到 tomcat - javax.naming.NamingException

java - 规范jvm : How to execute outside installation folder

Java LinkedHashSet 从末尾删除一些元素

c# - 不同数据库的事务

postgresql - Atomikos JTA 事务管理器 'Purging orphaned entry from log' 登录输出

java - JPA persistence.xml,定义一个postgresql JTA数据源

java - 播放 jar 文件中的音频

mysql - InnoDB x-locks in READ COMMITTED 隔离级别