ADF BC中AM, EO, VO的初始化顺序
来源:互联网 发布:白金网络作家 编辑:程序博客网 时间:2024/06/05 03:48
1, 测试代码介绍
基于HR Schema,创建Employees、Departments表的EO、VO对象。2, 创建DepartmentEO,DepartmentVO, EmployeeEO, EmployeeVO的定义类和对象类。
3,在类中添加输出信息
例如:
- public AppModuleImpl() {
- System.out.println("create application module instance impliment...");
- }
4, 运行业务组件浏览器
得到测试结果如下:
create applicaton moduledefination...
create application moduleinstance impliment...
employee VO defination...
employee eo defination ...
employee VO instance ...
department VO defination
department EO impliment
department VO impliment5, 修改ViewUsage顺序,再次测试
不同VO的初始化顺序不会和AM实现类中的getXXXVO顺序一致,而是与AM的XML定义中的‘ViewUsage’的定义顺序一致。
create applicaton moduledefination...
create application moduleinstance impliment...
department VO defination
department EO impliment
department VO impliment
employee VO defination...
employee eo defination ...
employee VO impliment ...6, 运行页面
1)保持EmployeeVO的使用早于DepartmentVO的使用的情况下,运行Departments.jspx页面。结果如下。
createapplicaton module defination impliment...
createapplication module instance impliment...
employeeVO defination...
employeeeo defination ...
employeeVO impliment ...
departmentVO defination
departmentEO impliment
departmentVO impliment
… …2)接着运行Employees.jspx页面:
create application module instanceimpliment...
employee VO impliment ...
department VO impliment
employee EO instance ...
employee EO instance ...
employee EO instance ...
… …3)等待页面超时,Session无效后再打开,此时AM实例没有超时:
employee VO impliment ...
department VO impliment
employee EO instance ...
employee EO instance ...
employee EO instance ...
… …4)在AM超时后:
<StateManagerImpl><restoreView>无法为标记 etzaygn6g 找到保存的视图状态
employee VO impliment ...
department VO impliment
employee EO instance ...
employee EO instance ...
employee EO instance ...
… …7, 总结
1) 在第一次打开ADF页面的时候,初始化AM、EO、VO的定义;顺序是AM,VO,EO。
2) VO对象类的初始化晚于EO的定义,晚于VO的定义。
3) EO对象类对应的是table中的一行数据,所以log中打印出多行EO对象类的初始化。并且,EO对象类的初始化晚于VO对象类的初始化。
4) 不同VO的初始化顺序定义在AppModule.xml文件中,同‘ViewUsage’的顺序。
5) 在页面Session失效后,再次打开页面,只进行了VO对象类的初始化。AM、EO、VO的定义类并没有重新初始化。
6) 默认,AM实例的time out时间是600s。AM超时后,AM、EO、VO的定义类也没有重新初始化,说明这些类的初始化只进行了一次,是在ADF应用部署完成后的首次访问。
8,测试代码下载
ADF BC 初始化顺序测试代码
- ADF BC中AM, EO, VO的初始化顺序
- ADF BC中AM, EO, VO的初始化顺序
- ADF-BC中EO常用操作代码之一:查询EO
- ADF BC中AM的参数和配置方法
- ADF-BC中EO常用操作代码之二:修改和删除EO
- ADF-BC中EO常用操作代码之三:增加EO(1)
- Oracle ADF获取AM及VO的方法
- 数据库中新增字段后,EO VO的处理
- ADF中控制EO属性是否可以更新的方法
- ADF中控制EO属性是否可以更新的方法
- 给ADF BC EO Row或Attribute添加Custom异常
- 使用ADF BC AM创建SOAP WebService
- ADF(BC)--当使用绑定VO的<af:table>时可能会导致的内存问题
- 用户会话状态管理的另类方式:Oracle ADF BC AM的状态管理机制
- ADF建立EO时触发的事件
- 给ADF EO的属性设置值
- 给ADF EO的属性设置值
- 给ADF EO的属性设置值
- Java 各类型的初始值
- 网络子系统16_arp传输接收接口
- weblogic 启动错误 Unrecognized option: -jrockit
- 【Android开发学习】简单的图片浏览
- win32多线程程序设计笔记(第六章下)
- ADF BC中AM, EO, VO的初始化顺序
- 黑马程序员_<<Collections,Arrays>>
- 数据库的事务和锁
- hdu-4764 博弈
- 如何修改linux网卡名
- 么么么么么么么么
- 给ADF EO的属性设置值
- 设计模式 - 工厂方法模式
- 算法练习:砍树,不相邻(JAVA实现)