使用jBpm支持高级用户交互模式
2010-01-21 00:00:00 来源:WEB开发网核心提示: 泳道代表一个流程角色,它通常被分配给一个用户组,使用jBpm支持高级用户交互模式(2),它是一种指定流程中的多个任务要由同一参与者完成的机制,因此,任务自己的变量在jBPM中是通过任务控制器处理器(task controller handler)支持的,它可以在任务实例创建时生成任务实例数据(从
泳道代表一个流程角色,它通常被分配给一个用户组。它是一种指定流程中的多个任务要由同一参与者完成的机制。因此,在第一个任务被分配给某个泳道之后,流程就会记住所有在相同泳道内的后续任务都将由同一参与者完成。
jBPM提供了两种定义任务分配的基本方法:作为流程定义的一部分或通过编程实现。如果是作为流程定义的一部分,分配可以通过指定具体用户、用户组或泳道 完成。此外,可以使用表达式根据流程变量动态确定某个具体用户。完整的编程实现是基于分配处理器(assignment handler)的,它允许任务根据任意的计算规则去查找用户ID。
流程定义描述流程实例的方式类似任务描述任务实例的方式。当流程执行时,一个流程实例——流程的运行时表示——就会被创建。类似,一个任务实例——任务的运行时表示——就会被创建。根据任务定义,任务实例被分配给一个参与者/参与者组。
任务实例的一个作用就是支持用户交互——把数据显示给用户并从用户那里收集数据。一个jBPM任务实例拥有访问流程(令牌)变量的全部权限,而且还可以有自己的变量。任务能够拥有自己的变量对于以下场景非常有用:
在任务实例中创建流程变量的副本,这样对任务实例变量的即时更新只有在该任务完成且这些副本被提交给流程变量时才会影响流程变量。
创建更好支持用户活动的“派生(计算)”变量。
任务自己的变量在jBPM中是通过任务控制器处理器(task controller handler)支持的,它可以在任务实例创建时生成任务实例数据(从流程数据),并在任务实例完成时将任务实例数据提交给流程变量。
更多精彩
赞助商链接