ADF 生产环境中SavePoint的创建与清除
来源:互联网 发布:js缩略图点击放大 编辑:程序博客网 时间:2024/04/29 13:38
在实际项目中,一个项目会存在多个savepoint,而且同一个功能不同的用户操作都会产生savepoint,如果权限一样,不同的功能,不同的用户产生的savepoint后只能看到或清除自己操作产生的savepoint是必须要考虑的问题,解决的关键在于创建的时候savepoint设置name必须保证唯一即可,清除功能同理。代码如下:
public class EmpMain { public EmpMain() { cc = ControllerContext.getInstance(); sp = cc.getSavePointManager(); } private SavePointManager sp; private ControllerContext cc; public void setSp(SavePointManager sp) { this.sp = sp; } public SavePointManager getSp() { return sp; } public void setCc(ControllerContext cc) { this.cc = cc; } public ControllerContext getCc() { return cc; } public void createSavePoint(ActionEvent actionEvent) { Object user = ADFContext.getCurrent().getSessionScope().get("user"); SavePointAttributes s = new SavePointAttributes("Employee", "Employee's Save Point", null); s.setName((String) user); String saveId = sp.createSavePoint(s); JSFUtils.setExpressionValue("#{pageFlowScope.savePointId}", saveId); } public List getPoint() { List options; options = new ArrayList(); List<String> saves = sp.listSavePointIds(); SelectItem option; Object user = ADFContext.getCurrent().getSessionScope().get("user"); for (int i = 0; i < saves.size(); i++) { SavePointAttributes att = sp.getSavePointAttributes( saves.get(i)); System.out.println(att); if (att != null && att.getName() != null) { if (att.getName().equals(user.toString())) { option = new SelectItem(saves.get(i), saves.get(i) + "_" + att.getName()); options.add(option); } } } return options; } public void clearSavepoints(ActionEvent actionEvent) { Object user = ADFContext.getCurrent().getSessionScope().get("user"); List<String> saves = sp.listSavePointIds(); String pointid = null; for (int i = 0; i < saves.size(); i++) { pointid = saves.get(i); SavePointAttributes att = sp.getSavePointAttributes(pointid); if (att != null && att.getName() != null) { if (att.getName().equals(user.toString())) { sp.removeSavePoint(pointid); } } } }
0 0
- ADF 生产环境中SavePoint的创建与清除
- savepoint与rollback(savepoint)
- 事务中savepoint的使用
- 事务中savepoint的使用
- cookie的创建与清除
- 徒手创建一个webpack全自动生产与发布分离的环境
- DBA:在生产环境中创建监控表DML的触发器
- DBA:在生产环境中创建监控表DML的触发器
- 生产订单的创建与修改函数
- 开发环境、生产环境、测试环境的联系与区别
- ADF中怎样创建带有小计功能的Table
- OpenSSL.Net 在生产环境中无法正常加载的原因分析与解决方式。
- PHP生产环境与开发环境的错误处理
- 分离开发环境与生产环境的配置文件
- 一次测试环境与生产环境不同导致的问题
- Django开发环境与生产环境的设置
- 关于oracle restore point 与savepoint的心得体会(转载)
- ABAP 生产订单的创建与修改函数
- [Python]利用type()动态创建类
- HDU 4821 String 字符串哈希
- Eclipse下使用Ant多渠道批量打包
- 基于glib的单线程多事件源处理
- hiho一下 第三周 "KMP"算法
- ADF 生产环境中SavePoint的创建与清除
- OCP 1Z0 053 183
- [leetcode] Valid Parentheses
- 有关C/C++的一些基础知识
- 湖大训练赛2 Modified LCS
- 获取签名公钥
- Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析
- git常见错误及解决方案总结
- Mediator - 中介者模式