Fire workflow的IOC容器 vs Jbpm4的IOC容器

xiaoxiao2026-04-18  3

前几天看到ronghao网友写了一篇帖子“Jbpm4的IOC容器[url]http://www.iteye.com/topic/381607[/url]”,正好这几天在写Fire workflow1.0的文档,写到IOC容器这一章节。于是心血来潮,拿出来PK一下。 :wink: 其实,[size=medium][b]Fire workflow根本没有IOC容器![/b][/size] 我没有忽悠大家,Fire workflow真的没有IOC容器。那么怎么和Jbpm4的IOC容器PK呢? [size=medium][b]Fire workflow可以将任何第三方IOC容器当作自己的容器,缺省使用Spring[/b][/size]。 容器的作用是为引擎创建Bean的实例,充分利用第三方容器可以使得引擎和业务代码集成得更加优雅。 在Fire workflow 1.0中,定义了一个新的服务,叫做Bean Factory Service。该Service的接口如下图。 [img]http://nychen2000.iteye.com/upload/attachment/104346/d00e80f7-73a3-36a4-9c39-d7f15f0586b1.png[/img] 1.0中,bean factory的缺省实现是org.fireflow.engine.beanfactory.SpringBeanFactory,以Spring ioc容器作为BeanFactory,如下图 [img]http://nychen2000.iteye.com/upload/attachment/104350/bc865615-4025-3302-9fda-35723a3c37c4.png[/img] 下面,以与用户管理系统的集成为例,说明bean factory的优点。假设某Task的AssignmentHandler设置如下图。 [img]http://nychen2000.iteye.com/upload/attachment/104352/0783d9d6-b48f-3cba-b9fe-faeda0314e6c.png[/img] 工作流Engine需要通过bean factory服务获得上图中的org.fireflow.example.workflowextension. RoleBasedAssignmentHandler的实例。在使用SpringBeanFactory的情况下,该bean的配置如下图。从图中可以看出,RoleBasedAssignmentHandler可以很方便的引用到业务系统的UserDAO实例。业务代码和工作流引擎优雅地集成在一起了! [img]http://nychen2000.iteye.com/upload/attachment/104354/e8c1b993-5878-389a-b14e-2d1cc5ce0a0b.png[/img]
转载请注明原文地址: https://www.6miu.com/read-5047554.html

最新回复(0)