Activiti5.16用户手册:配置与API详解

需积分: 50 57 下载量 20 浏览量 更新于2024-08-09 收藏 5.25MB PDF 举报
"本文档介绍了Activiti框架的历史级别配置以及相关的API使用,包括如何创建ProcessEngine、配置数据库、启用Job执行器和邮件服务器等。同时,还涵盖了Activiti API的基本操作,如发布流程、启动实例、完成任务等。" 在Activiti框架中,历史级别是一个关键的配置项,它决定了系统如何记录和存储流程实例的运行历史。历史级别可以通过编程方式设置,例如在创建ProcessEngine时,通过`setHistory`方法传入不同的历史级别常量,如`HistoryLevel.AUDIT.getKey()`,也可以在配置文件`activiti.cfg.xml`或Spring-context中进行配置。 1. **none**: 这是最简单的级别,不保存任何历史信息,提供最佳的执行性能,但无法查看历史数据。 2. **activity**: 保存流程实例和活动实例信息,但不包括详细的变量变化。流程实例结束时,最后一个活动实例的最新变量值会被保存为历史变量。 3. **audit**: 默认级别,保存所有流程实例、活动实例信息,同时保持变量和表单属性同步,确保用户交互的可追溯性,适合审计需求。 4. **full**: 最高级别,保存所有详细信息,包括审核和其他所有细节,特别是流程变量的变化,这虽然提供了最全面的历史记录,但也对性能影响最大。 配置历史级别有助于根据业务需求平衡性能与历史数据的需求。例如,在不需要详细历史记录的情况下,可以选择`none`或`activity`级别来优化性能;而在需要审计或追踪详细流程执行情况时,选择`audit`或`full`级别。 除了历史级别,Activiti的配置还包括创建`ProcessEngine`,这通常通过`ProcessEngineConfiguration`类的工厂方法完成,如`createProcessEngineConfigurationFromResourceDefault()`。数据库配置允许指定连接信息,可以是直接配置在代码中,也可以通过JNDI方式。此外,配置还包括邮件服务器设置,用于发送流程相关的通知,以及表达式和脚本的支持。 Activiti API提供了丰富的服务,如流程引擎的API和服务,包括发布流程、启动流程实例、完成任务、挂起或激活流程等。查询API允许检索和过滤流程实例和任务信息。表达式机制使得在流程定义中动态计算值成为可能。单元测试和调试工具则帮助开发者确保流程逻辑的正确性。 在企业级应用中,通常会结合Spring框架进行集成,以便更好地管理和控制流程引擎的生命周期,以及利用Spring的依赖注入特性简化组件间的协作。`ProcessEngine`可以通过Spring的`bean`配置来管理,这样可以更方便地在应用中使用和关闭流程引擎。 了解并正确配置Activiti的历史级别以及熟练掌握其API是有效利用这个工作流引擎的关键。这不仅涉及到性能优化,还关乎到能否满足业务对流程监控和审计的要求。