多个操作组成一个不可分割的整体,可以称为一个JBoss事务。
1.JBoss事务的四要素简称ACID,分别是
Atomicity 原子性:事务的多个操作组成一个单元,所有操作要么一起成功,要么一起失败
Consistency 一直性:事务操作的前后,数据库必须保持数据的一致性和完整性
Isolation 隔离性:多个事务之间彼此不会相互影响
Durability 持久性:事务成功之后,事务结果应该持久化,也就是说事务的成功是持久的
2.加锁:锁分为悲观锁和乐观锁,当使用悲观锁时,分为五个隔离级别,分别是SERIALIZABLE、 REPEATABLE_READ (default)、READ_COMMITTED、READ_UNCOMMITTED和NONE,隔离级别逐步减弱。乐观锁也叫版本锁,其对数据进行操作时,将其复制到临时区,操作之后将版本与原有数据比较,如果一致则将递增版本并写回,如果不一致则回滚,由于乐观锁仅在复制出数据和提交数据时对数据加锁,所以并行度更高,但如果写操作比较频繁地话则容易出现冲突导致回滚。
3.两阶段提交(Two-Phase Commit)
如果对多种可恢复的资源进行操作,在事务提交时,可能会导致部分事务成功而部分事务失败,使数据处于不一致的状态,这时候可使用分布式事务,分布式事务采用两阶段提交协议,在事务提交之前,先询问各种资源是否为提交做好准备(第一阶段),然后再提交(第二阶段),如果失败,则全部回滚
JBoss事务管理器配置在JBOSS_HOME/server/all/config/jboss-service.xml中,如下:
可以通过JNDI名java:/UserTransaction访问事务
【编辑推荐】
上一篇:一名思科网络工程师成长经历
下一篇:艾克赛尔无线宽带视频会议系统