JBPM Descriptor详解

DescriptorjbpmIOC实现中扮演重要角色,它由相应的Binding类生成,并生成相应对象的职责,可谓职责重大。

       Descriptor主要用于生成那些对象实例?

              Descriptor主要负责生成流程引擎使用的一些实例,比如TaskService

HistoryServiceISession等,可以毫不夸张的说,没有Descriptor,流程引擎将没有资源可用;对于jpdl对应的Binding生成的实例后续文章进行详解!

Descriptor的继承结构如何?

      下面是FloatDescriptor的继承结构:


Descriptor的实例化过程?          

一般情况下,我们在配置文件中定义我们需要生成Descriptor的标签(也就是Binding中的Tag字符串);WireParser既负责加载Binding的配置文件,也负责根据根据标签找到相应的Binding实例,并生成相应的descriptor;然后会将其添加到WireDefinition

需要说明的是WireDefinition中有descriptorNamesdescriptors,前者会以descriptor继承的所有的基类和接口(但是除去已经添加到其中)的类型为Key,这决定了我们最终获取我们需要的对象的方式;后者就是一个承载descriptor的普通的集合;

Descriptor的结构和作用?

一般的Descriptor主要由两个成员方法组成constructinitialize,前者一般生成相应的对象实例,后者主要初始化相应的字段等。

DefaultObservable的主要作用?

事件监听在面向对象开发中有广泛的应用!当我们需要在construct相应对象前或者后执行自己的一些业务逻辑,我们就可以实现自己的监听器,然后注册到事件源中,当事件发生时将会执行我们的业务逻辑。

      

      通过Descriptor生成对象的全过程中涉及的主要对象?

       EnvironmentImpl->WireContext->WireDefinition->相应Descriptor->生成相应对象

 

 

                                          

posted @   无风听海  阅读(393)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示