`
dragonxiangfu
  • 浏览: 157136 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ADF应用程序中创建和恢复保存点

阅读更多

在Oracle Fusion Web应用开发中,如果采用Task Flow来进行应用流的控制,默认只要创建一个task flow就是一个新的事物开始,

如果在流中需要回滚,只需要添加一个restoreSavepoint活动就可以实现事物的回滚,但如果需要在程序中实现保存点的创建和回滚,使用下面的代码:

1、创建保存点

  1. DCBindingContainerbinding=ADFUtils.getDCBindingContainer();
  2. DCDataControldcDataControl=binding.getDataControl();
  3. Stringsph=(String)dcDataControl.createSavepoint();
  4. JSFUtils.setExpressionValue("#{pageFlowScope.AdfmSavePoint}",sph);

创建保存点时,ADF将AM中的对象实例序列化保存到PS_TXN表中,因此如果AM中包括了太多的对象,那创建保存点时就会有太多的信息保存到后台表,

意味着AM粒度的划分直接影响 到保存点的创建。关于相关的详细信息可以查看OTN的技术文章Overview of Temporary Tables Created By BC4J

2、恢复保存点

  1. Stringsph=(String)JSFUtils.resolveExpression("#{pageFlowScope.AdfmSavePoint}");
  2. DCBindingContainerbinding=ADFUtils.getDCBindingContainer();
  3. DCDataControldcDataControl=binding.getDataControl();
  4. dcDataControl.restoreSavepoint(sph);

[转]http://oracleseeker.com/2009/07/18/create_and_restore_savepoint_in_oracle_adf_application/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics