就目前了解
有那么几种方式
- swimlane: 在我的流程中,使用最多的是这种情况,因为我的参与者都是从HR数据库中直接查询获得的。
- identity: 这种方式只在我刚开始测试的时候使用,直接将任务分派给一个滴定的人或者部门角色等等。
- action: 有时候需要动态的创建任务,这个时候就需要通过这种方式。
- 流程变量: 这种方式是我刚刚开别人的blog发现的,可以直接调用流程变量来给这个任务分派参与者,原来的做法是通过swimlane先获取流程变量,然后再分派参与者,这样方式可以减少很多不必要的swimlane。 <assignment actor-id="#{actor}"></assignment>确定任务参与者。
xml 代码
- <task><assignment actor-id="#{requisitioner_FK}"></assignment></task>
- AssignHandler: <assignment class="com.sky.plugin.jbpm.def.ActorsHandel"></assignment>通过AssignHandler动态的对流程实例定义Actor。
最后一种还没有经过实践,不知道效果怎么样。还有一个问题就是,这个流程变量需要在什么时候初始化,按照现有的经验,应该只需要在这个任务创建之前初始化这个变量就可以。这个星期就做实验,验证一下。
最后还有一个比较棘手的事情就是会签,正在研究别人的blog,争取明天搞定。加油