JPA零碎要点---JTA全局事物理解
发布日期:2021-06-29 18:04:30
浏览次数:2
分类:技术文章
本文共 1016 字,大约阅读时间需要 3 分钟。
以前学习的都是本地事物类型;全局事物:在一些应用场合只可以用全局事物 使用全局事物的例子:比如mysql和oracle数据库之间转账; mysql:update mysql set amount=amount-xx where id=xx(mysql) oracle:update mysql set amount=amount+xx where id=bb(oracle) 要确保两个动作在同一个事物中执行; 1.采用jdbc: connection=mysql connection.setAutoCommit(false); mysql:update mysql set amount=amount-xx where id=xx(mysql) oracle:update mysql set amount=amount+xx where id=bb(oracle) connection.commit(); 这个事物必须在一个connection中打开,才行,但是这里用了两中数据库:所以用一个connection实现不了 这时候要用全局事物;本地事物无法满足要求; 2.这时候可以用JTA解决 JTA.getUserTrantion().begin(); connection->mysql connection2->oracle connection->update mysql set amount=amount-xx where id=xx(mysql) connection2-> oracle:update mysql set amount=amount+xx where id=bb(oracle) JTA.getUserTrantion().commit() 如果任何一个出现问题就会回滚事物; 两次提交协议;预编译 1.执行第一条sql,结果为成功的话返回true,否则是false,放到list中,这时候并不是真正的执行commit,只是模拟下 2.执行第二天sql,同样结果放到list中,如果两条语句,在list中的结果都为true的话,就执行commit()提交 3.两次提交是指,在执行每一条sql的时候会提交,然后最后有一个总的提交.JTA.getUserTrantion().commit() 一般在weblojc应用服务器中的时候,采用的全局事物 90%的时候,我们是使用的本地事物; -->转载地址:https://credream.blog.csdn.net/article/details/8566815 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月12日 05时36分18秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java程序员从笨鸟到菜鸟之(六十八)细谈Spring(二)自己动手模拟spring
2019-04-30
Java程序员从笨鸟到菜鸟全部博客目录
2019-04-30
java程序员从笨鸟到菜鸟之(七)一—java数据库操作
2019-04-30
Java程序员从笨鸟到菜鸟之(八)反射和代理机制
2019-04-30
面试心得与总结—BAT、网易、蘑菇街
2019-04-30
Java对象初始化顺序
2019-04-30
Java开发的几个注意点
2019-04-30
我的Java后端书架 (2016年暖冬4.0版)
2019-04-30
每个程序员都必读的10篇文章
2019-04-30
也谈IO模型
2019-04-30
谈谈互联网后端基础设施
2019-04-30
Mybatis的ResultMap的使用
2019-04-30
Java 异常处理的误区和经验总结
2019-04-30
Chrome控制台使用详解
2019-04-30
Chrome 控制台console的用法(学了之后对于调试js可是大大有用的哦)
2019-04-30
15 个必须知道的 Chrome 开发工具技巧
2019-04-30
推荐的四款产品原型设计工具
2019-04-30
Spring基础知识汇总 Java开发必看
2019-04-30
设计模式(一)工厂模式Factory(创建型)
2019-04-30