通过回调方法初始化Service
2009-04-12 23:18
288 查看
EMP的Service服务定义是业务构件中一个非常灵活的概念组件,它可以是一个manager管理器,也可以用于封装一类resource资源,更可以作为loarder加载器装载特殊的定义文件,甚至大家非常熟悉的format、sqlDefine和tableDefine组件也都是service的形式存在于EMP平台中。
通常情况下,绝大多数的Service会被定义在全局节点root context下面作为公共服务,而这样的组件就可能需要执行一种特定的初始化行为才可以发挥功用。相信大家熟悉的Service初始化方式莫过于利用Initializer了:EMP应用启动时调用Initializer执行初始化代码,而Initializer则可以负责加载公共数据定义,以及调用公共服务的初始化方法。这是一种灵活却不够严谨的被动处理方式,使得Service的初始化缺乏一定的章法。
这里要介绍的是一种相对统一的初始化方式——实现initialize回调方法。这种概念有些类似spring中的回调接口,不过较前者定义方式严格:EMP组件工厂允许所有的service组件实现名为initialize(String factoryName)的初始化回调方法,而工厂会负责在首次加载sericve时调用该方法,而传入的参数factoryName是业务构件工厂的名称,通过它便可以获得业务构件工厂bizFactory实例,进而得到root context和web应用目录等资源,总之是大有可为啊!
通常情况下,绝大多数的Service会被定义在全局节点root context下面作为公共服务,而这样的组件就可能需要执行一种特定的初始化行为才可以发挥功用。相信大家熟悉的Service初始化方式莫过于利用Initializer了:EMP应用启动时调用Initializer执行初始化代码,而Initializer则可以负责加载公共数据定义,以及调用公共服务的初始化方法。这是一种灵活却不够严谨的被动处理方式,使得Service的初始化缺乏一定的章法。
这里要介绍的是一种相对统一的初始化方式——实现initialize回调方法。这种概念有些类似spring中的回调接口,不过较前者定义方式严格:EMP组件工厂允许所有的service组件实现名为initialize(String factoryName)的初始化回调方法,而工厂会负责在首次加载sericve时调用该方法,而传入的参数factoryName是业务构件工厂的名称,通过它便可以获得业务构件工厂bizFactory实例,进而得到root context和web应用目录等资源,总之是大有可为啊!
相关文章推荐
- aidl 中通过RemoteCallbackList 运用到的回调机制: service回调activity的方法
- aidl 中通过RemoteCallbackList 运用到的回调机制: service回调activity的方法
- aidl 中通过RemoteCallbackList 运用到的回调机制: service回调activity的方法
- aidl 中通过RemoteCallbackList 运用到的回调机制: service回调activity的方法 .
- aidl 中通过RemoteCallbackList 运用到的回调机制: service回调activity的方法
- android 输入法 回调一:IInputMethodWrapper通过MethodCallback来回调InputMethodManagerService方法
- aidl 中通过RemoteCallbackList 运用到的回调机制: service回调activity的方法
- Android Service 通知Activity更新界面的方法研究|Service通过Broadcast更新UI
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- Android通过bindservice方式调用服务的方法
- Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作
- 定义一个交通工具(Vehicle)的类,在测试类Vehicle中的main()中实例化一个交通工具对象,通过方法给它初始化speed,size的值,并打印出来。另外,调用加速,减速的方法对速度进行改变
- web页面中通过js方法回调部分native的功能出现错误 Object [object Object] has no method 'openI***e' at null:1
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- I2c设备初始化方法1--通过总线编号初始化i2c设备
- Android Service 通知Activity更新界面的方法研究|Service通过Broadcast更新UI
- Spring源码学习之: 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作