Activiti实战:历史数据查询与流程变量操作

需积分: 9 0 下载量 56 浏览量 更新于2024-09-09 收藏 546KB DOCX 举报
"这篇文档是关于Activiti工作流引擎的使用和配置的笔记,主要涵盖了历史数据查询、流程变量的设置与获取、任务类型的区分、监听器的使用、网关的实现以及Spring与Activiti的整合。" 文章内容详细展开如下: 1. 历史数据查询是Activiti中一个重要的功能,它允许用户追溯流程实例的历史轨迹。可以查询历史流程实例列表,以及历史活动数据,这对于理解流程执行过程和进行审计非常有用。 2. 流程变量在Activiti中起到传递信息的作用。设置流程变量有多种方式:在启动流程实例时、在办理任务时、或使用RuntimeService和TaskService的方法。流程变量支持多种类型,包括基本的JDK数据类型如String、Integer、List、Map等,以及实现了序列化接口的自定义实体类。获取流程变量同样可以通过RuntimeService和TaskService来完成。 3. 任务的类型在Activiti中有两种主要形式:个人任务和公共任务。个人任务由特定的负责人处理,其信息记录在assignee字段;而公共任务,也称组任务,可由多人处理,设计时需指定多个办理人。用户可以查询公共任务列表,并进行任务的拾取、退回以及接收。接收任务不指定具体负责人,而是通过signal方法推进流程。 4. 监听器(listener)是Activiti中用于扩展流程行为的机制。执行监听器可以监听流程实例的事件,比如启动、结束等,而任务监听器则关注于任务生命周期中的事件,如创建、完成等。监听器的注册和使用涉及编写监听器类、在流程图中注册,以及框架通过反射调用来触发监听器。 5. 网关是流程控制的关键元素,分为排他网关和并行网关。排他网关依据流程变量选择一个分支执行,确保只有一个路径被激活;而并行网关则允许多个分支并行执行,增强流程的灵活性。 6. Spring与Activiti的整合是企业级应用的常见实践。配置包括设置数据源、事务管理器,创建流程引擎配置对象和引擎本身。在web项目环境中,这通常涉及到动态web项目的创建、数据库的准备、相关库的引入,以及Struts和Spring的配置,为流程引擎提供服务。 以上内容详尽地阐述了Activiti在实际应用中的各个关键点,对于理解和使用Activiti工作流引擎有着重要的参考价值。