JBPM Descriptor详解
Descriptor在jbpm的IOC实现中扮演重要角色,它由相应的Binding类生成,并生成相应对象的职责,可谓职责重大。
Descriptor主要用于生成那些对象实例?
Descriptor主要负责生成流程引擎使用的一些实例,比如TaskService、
HistoryService、ISession等,可以毫不夸张的说,没有Descriptor,流程引擎将没有资源可用;对于jpdl对应的Binding生成的实例后续文章进行详解!
Descriptor的继承结构如何?
下面是FloatDescriptor的继承结构:
Descriptor的实例化过程?
一般情况下,我们在配置文件中定义我们需要生成Descriptor的标签(也就是Binding中的Tag字符串);WireParser既负责加载Binding的配置文件,也负责根据根据标签找到相应的Binding实例,并生成相应的descriptor;然后会将其添加到WireDefinition;
需要说明的是WireDefinition中有descriptorNames和descriptors,前者会以descriptor继承的所有的基类和接口(但是除去已经添加到其中)的类型为Key,这决定了我们最终获取我们需要的对象的方式;后者就是一个承载descriptor的普通的集合;
Descriptor的结构和作用?
一般的Descriptor主要由两个成员方法组成construct和initialize,前者一般生成相应的对象实例,后者主要初始化相应的字段等。
DefaultObservable的主要作用?
事件监听在面向对象开发中有广泛的应用!当我们需要在construct相应对象前或者后执行自己的一些业务逻辑,我们就可以实现自己的监听器,然后注册到事件源中,当事件发生时将会执行我们的业务逻辑。
通过Descriptor生成对象的全过程中涉及的主要对象?
EnvironmentImpl->WireContext->WireDefinition->相应Descriptor->生成相应对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现