- Chapter 1. Introduction 介绍
- Chapter 2. Getting Started
- Chapter 3. Configuration
- Creating a ProcessEngine 创建 ProcessEngine
- ProcessEngineConfiguration bean
- Database configuration 数据库配置
- JNDI Datasource Configuration 数据源配置
- Supported databases 支持的数据库
- Creating the database tables 创建数据库表
- Database table names explained 理解数据库表名字
- Database upgrade 数据库升级
- Job Executor and Async Executor (since version 5.17.0)
- Job executor activation 启用 Job executor
- Async executor activation 启用 Async executor
- Mail server configuration 配置邮件服务器
- History configuration 配置历史
- Exposing configuration beans in expressions and scripts 在表达式和脚本中暴露配置
- Deployment cache configuration 配置部署缓存
- Logging 日志
- Mapped Diagnostic Contexts 映射诊断上下文
- Event handlers 事件处理
- Chapter 4. The Activiti API
- Chapter 5. Spring integration 集成 Spring
- Chapter 6. Deployment
- Chapter 7. BPMN 2.0 Introduction
- Chapter 8. BPMN 2.0 Constructs 关于 BPMN 2.0 架构
- Chapter 9. Forms 表单
- Chapter 10. JPA
- Chapter 11. History 历史
- Chapter 12. Eclipse Designer
- Chapter 13. Activiti Explorer
- Chapter 14. Activiti Modeler
- Chapter 15. REST API
- Chapter 16. CDI integration 集成 CDI
- Chapter 17. LDAP integration 集成 LDAP
- Chapter 18. Advanced 高级
- Hooking into process parsing 监听流程解析
- UUID id generator for high concurrency 高并发的 UUID 生成器
- Multitenancy 多租户
- Execute custom SQL 执行自定义 SQL
- Advanced Process Engine configuration with a ProcessEngineConfigurator 用 ProcessEngineConfigurator 实现高级引擎配置
- Advanced query API seamless switching between runtime and historic task querying 高级查询 API-运行时无缝任务切换和历史任务查询
- Custom identity management by overriding standard SessionFactory 通过重写标准的 SessionFactory 实现自定义身份的管理
- Enable safe BPMN 2.0 xml 启用安全的 BPMN 2.0 xml
- Event logging Experimental 事件日志-实验
- Introduction 介绍
- CrystalBall inside 内部
- History analysis 历史分析
Defining a process 定义流程
注意
文章假设你在使用 Eclipse IDE [ http://eclipse.org/]来创建和编辑文件。 不过,其中只用到了 Eclipse 很少的特性。你可以使用喜欢的任何工具来创建包含 BPMN 2.0 的 xml 文件。
创建一个新的 XML 文件(右击任何项目选择“新建”->“其他”->“XML-XML 文件”)并命名。 确认文件后缀为 .bpmn20.xml 或 .bpmn , 否则引擎无法发布。
BPMN 2.0 根节点是 definitions 节点。 这个元素中,可以定义多个流程定义(不过我们建议每个文件只包含一个流程定义, 可以简化开发过程中的维护难度)。 一个空的流程定义看起来像下面这样。注意,definitions 元素 最少也要包含 xmlns 和 targetNamespace 的声明。targetNamespace 可以是任意值,它用来对流程实例进行分类。
<definitions
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti="http://activiti.org/bpmn"
targetNamespace="Examples">
<process id="myProcess" name="My First Process">
..
</process>
</definitions>
你也可以选择添加线上的 BPMN 2.0 格式位置, 下面是 ecilpse 中的 xml 配置。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL
http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd
process 元素有两个属性:
- id:这个属性是必须的, 它对应着 Activiti ProcessDefinition 对象的 key 属性。id 可以用来启动流程定义的流程实例,通过 RuntimeService 的 startProcessInstanceByKey 方法。这个方法会一直使用最新发布版本的流程定义(译者注:实际中一般都使用这种方式启动流程)。
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess");
注意,它和 startProcessInstanceById 方法不同。 这个方法期望使用 Activiti 引擎在发布时自动生成的 id。可以通过调用 processDefinition.getId() 方法获得这个值。 生成的 id 的格式为'key:version', 最大长度限制为 64 个字符, 如果你在启动时抛出了一个 ActivitiException,说明生成的 id 太长了, 需要限制流程的 key 的长度。
- name:这个属性是可选的,对应 ProcessDefinition 的 name 属性。 引擎自己不会使用这个属性,它可以用来在用户接口显示便于阅读的名称。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论