|
Interface Summary |
| ActiveComponent |
实现了该接口的 Component 会在部署时,立即实例化,实现了该接口,将强制 @Deploy(active=true)
使用 @Annotation 因为不能继承,所以无法强制约束子类型是 Active |
| Component |
Component 接口,只有实现该接口的组件才能部署到 Framework 中
普通的Component不具备跨模块调用能力,要想被其它模块调用,需要用 @Exported描述一个 business 接口 |
| ComponentInitialization |
ComponentInitialization 提供了两个回调方法,
使得在组件构造之后,以及依赖注入完成之后进行额外的操作。
instantiated方法是唯一可以传入ComponentContext的回调方法,
如果Component需要使用ComponentContex,就必须实现该接口 |
| ComponentUnregistration |
组件被注销之前和注销之后的回调方法。
组件注册的时候,没有回调方法,因为此时组件还没有实例化。 |
| Extention |
实现某个ExtentionPoint的扩展
扩展在解析XML描述文件时,和ExtentionPoint关联
XML example:
|
| ExtentionPoint |
扩展点接口
扩展点是用来描述一个组件,有一些未知的功能,需要以后的组件和扩展实现
扩展点的好处是:
通过XML描述文件来描述扩展点及扩展,在解析XML部署文件时进行扩展点的关联,
此时实现扩展的组件,还没有实例化,等待真正要用到扩展实现的时候才实例化
扩展具体的调用逻辑由实现ExtentionPointSupportComponent的组件来完成
XML example:
|
| FactoryComponent |
工厂类型的Component,用来创建其它对象 |
| InterceptableComponent |
可进行方法拦截的组件。
实现该接口的组件,在执行器方法的时候,可以在方法执行前后,进行额外的操作,比如:进行日志记录
注意:该功能通过Java动态代理技术实现 |
| RunnableComponent |
可以为一个独立线程运行的 Component
需要手动的构造 Thread 运行 Component, Framework不会自动启动 Thread |
| SingletonComponent |
实现了该接口的 Component 会在部署时,无论是否 @Server(singleton=false),都只有一个实例
使用 @Annotation 因为不能继承,所以无法强制约束子类型是 singleton |