EJB事务处理:
Reference: Enterprise JavaBean 3.0.
涉及业务:ATM存款、取款、转账;在线图书的订购;医疗系统对于患者的病情的记录。
EJB事务特征:ACID (原子性Atomic、一致性Consistent、隔离性Isolated、持久性Durable)
原子性(Atomic):工作单元的每项任务都必须正确执行,如果有一项任务执行失败,则整个
工作单元或事务就会被终止。如果所有的任务都执行成功,事务就会被提交,对数据所做
的修改将是永久的。
PS:工作单元指多个任务组成的单元。
一致性(Consistent):代表了底层数据存储的完整性,它必须由事务系统和应用开发人员共
同完成。事务系统通过保证事务的原子性、隔离性、持久性来满足这一要求;应用开发人
员保证数据有适当的约束(主键,引用完整性),并且,工作单元中所实现的业务逻辑不
会导致数据的不一致性。(转账,转方和收方金额相等)
隔离性(Isolated):事务必须在不干扰其他进程和事务的前提下独立运行。
持久性(Durable):表示在事务执行过程中,对数据所做修改在事务成功结束之前被保存至某
种某种物理存储设备中。
EJB事务管理:声明性的事务管理(Declarative Transaction Management)和显式的事务划分
(Transaction Demarcation)
显式的事务划分:需要用到一些相当复杂的API,如OMG的对象事务服务(Object Transaction
Service OTS),或相应的JAVA实现--Java事务服务(Java Transaction Service JTA),
这将会在业务代码中编写事务管理代理,从而降低了代码的清晰度。
声明性的事务管理:EJB相关的事务行为可以由@javax.ejb.TransactionAttribute注解或EJB
描述文件进行控制。
事务属性:NotSupported,Supports,Required,RequiresNew,Mandatory,Never.
未完待续。。。。