Task Flow使用指南之八:Transaction(1)

187 篇文章 2 订阅
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。

ADF Bounded TaskFlow有一个很重要的特性:Transaction。
这个Transaction的概念与Java EE中的Transaction是同一概念,只不过两者的配置方式不同。
在Java EE中的事务是直接使用批注配置在EJB的方法上或者配置在ejb.xml中,运行时由Container解析。
而TaskFlow中的事务是配置在控制器层的,其中的所有的Activity(View和其它非可视化的)都将属于一个事务。

打开一个Bounded Task Flow,在Property中找到Behavior,其中Transaction属性:

(1)No Controller Transaction:不加入任何事务。
(2)Always Begin New Transaction:开始一个新的事务,无论是否已经在一个事务之中。
(3)Always Use Existing Transaction:加入已有的事务,如果没有事务可加入,抛异常:ADFC-00006: Existing transaction is required when calling task flow。
(4)Use Existing Transaction If Possible:加入已有的事务,如果没有事务可加入,开始一个新的事务。
事务的提交是在Task Flow Return Activity上完成的,在Property中找到Behavior,其中End Transaction属性,我们可以设置如何提交事务(commit or rollback)。

本实验场景:一个TaskFlow中有多个修改页面,测试修改操作是否在同一个事务之中。

重点步骤说明:
1. 1个AM,1个DB Connection,1个Bounded TaskFlow


2. 其中的TaskFlow包括两个修改页面



3. 设置Transaction=Always Begin New Transaction


4. 每个修改页面都没有事务提交功能,而是交给Task Flow Return Activity负责


5. 运行
先后修改Department和Employee数据,发现改动后的数据均成功入库,说明修改操作是在一个事务之中。

Project 下载: ADF_TaskFlow_Transaction.7z

参考文献:

1. http://andrejusb.blogspot.com/2008/03/adf-task-flows-managing-transactions.html

http://maping930883.blogspot.com/2012/08/adf195task-flowtransaction1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值