当前位置: 首页 > news >正文

Spring transaction与EJB transaction的关系

 
 

TransactionDefinition

Interface that defines Spring-compliant transaction properties. Based on the propagation behavior definitions analogous to EJB CMT attributes.

 

http://www.cnblogs.com/jiwuyf/p/3794777.html

EJB数据库事务:

从提交方式来分:

1.CMT(container managed transaction)容器管理方式

2.BMT(bean managed transaction)手工代码提交方式 begin(); commit(); rollback();

 

从是否跨机器来分:

本地事务,分布式事务

本地事务:

可以采用CMT和BMT两种提交办法。

分布式事务:

需要借助JTA

分布式事务处理 : Java 事务编程接口(JTA:Java Transaction API)和 Java 事务服务 (JTS;Java Transaction Service) 为 J2EE 平台提供了分布式事务服务。分布式事务(Distributed Transaction)包括事务管理器(Transaction Manager)和一个或多个支持 XA 协议的资源管理器 ( Resource Manager )。我们可以将资源管理器看做任意类型的持久化数据存储;事务管理器承担着所有事务参与单元的协调与控制。JTA 事务有效的屏蔽了底层事务资源,使应用可以以透明的方式参入到事务处理中;但是与本地事务相比,XA 协议的系统开销大,在系统开发过程中应慎重考虑是否确实需要分布式事务。若确实需要分布式事务以协调多个事务资源,则应实现和配置所支持 XA 协议的事务资源,如 JMS、JDBC 数据库连接池等。使用 JTA 处理事务的示例如下(注意:connA 和 connB 是来自不同数据库的连接)。

注意:与JPA(Java Persistant API)区分。

JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。

 

关于本地与分布式事务的介绍与示例:

http://www.cnblogs.com/onlywujun/p/4784233.html 

关于JTA的深入介绍:

https://www.ibm.com/developerworks/cn/java/j-lo-jta/index.html

关于MYSQL对XA协议支持的深入介绍:

https://dev.mysql.com/doc/refman/5.7/en/xa.html

转载于:https://www.cnblogs.com/rgqancy/p/8109214.html

相关文章:

  • (转载)(官方)UE4--图像编程----着色器开发
  • [LOJ#6259]「CodePlus 2017 12 月赛」白金元首与独舞
  • EasyPlayerPro windows播放器本地音频播放音量控制实现
  • SQL Server索引内部结构:SQL Server索引的阶梯级别10
  • apache ant 修改java版本 方法之一
  • bzoj1911[Apio2010]特别行动队 斜率优化dp
  • 通俗理解webService及.net中的使用方法
  • PHP后门的eval类和system类 函数到底有哪些区别
  • mint-ui 填坑之路
  • 秒懂Vuejs、Angular、React原理和前端发展历史
  • Java定时器应用
  • 模型分离(选做)
  • 游戏全区全服和分区分服 QQ斗地主的设计
  • 【习题 7-7 UVA-12558】Egyptian Fractions (HARD version)
  • 仿腾讯固定导航栏
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 4. 路由到控制器 - Laravel从零开始教程
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • bootstrap创建登录注册页面
  • crontab执行失败的多种原因
  • C语言笔记(第一章:C语言编程)
  • dva中组件的懒加载
  • Github访问慢解决办法
  • javascript数组去重/查找/插入/删除
  • js 实现textarea输入字数提示
  • js中forEach回调同异步问题
  • spring cloud gateway 源码解析(4)跨域问题处理
  • vue 配置sass、scss全局变量
  • Vultr 教程目录
  • 阿里云应用高可用服务公测发布
  • 创建一种深思熟虑的文化
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 给初学者:JavaScript 中数组操作注意点
  • 如何进阶一名有竞争力的程序员?
  • 通过几道题目学习二叉搜索树
  • 温故知新之javascript面向对象
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​2021半年盘点,不想你错过的重磅新书
  • ​520就是要宠粉,你的心头书我买单
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #include到底该写在哪
  • #前后端分离# 头条发布系统
  • (007)XHTML文档之标题——h1~h6
  • (3)llvm ir转换过程
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (四)c52学习之旅-流水LED灯
  • (一)基于IDEA的JAVA基础12
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ./configure、make、make install 命令
  • .bashrc在哪里,alias妙用