- 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 历史分析
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Exception strategy 异常策略
Activiti 中的基础异常为 org.activiti.engine.ActivitiException,一个非检查异常。 这个异常可以在任何时候被 API 抛出,不过特定方法抛出的“特定”的异常都记录在 javadocs 中。 例如,下面的 TaskService:
/**
* Called when the task is successfully executed.
* @param taskId the id of the task to complete, cannot be null.
* @throws ActivitiObjectNotFoundException when no task exists with the given id.
*/
void complete(String taskId);
在上面的例子中,当传入一个不存在的任务的 id 时,就会抛出异常。 同时,javadoc 明确指出 taskId 不能为 null,如果传入 null, 就会抛出 ActivitiIllegalArgumentException 。
我们希望避免过多的异常继承,下面的子类用于特定的场合。 流程引擎和 API 调用的其他场合不会使用下面的异常, 它们会抛出一个普通的 ActivitiExceptions。
- ActivitiWrongDbException:当 Activiti 引擎发现数据库版本号和引擎版本号不一致时抛出。
- ActivitiOptimisticLockingException:对同一数据进行并发方法并出现乐观锁时抛出。
- ActivitiClassLoadingException:当无法找到需要加载的类或在加载类时出现了错误(比如,JavaDelegate,TaskListener 等。)
- ActivitiObjectNotFoundException:当请求或操作的对应不存在时抛出。
- ActivitiIllegalArgumentException:这个异常表示调用 Activiti API 时传入了一个非法的参数,可能是引擎配置中的非法值,或提供了一个非法制,或流程定义中使用的非法值
- ActivitiTaskAlreadyClaimedException:当任务已经被认领了,再调用 taskService.claim(...) 就会抛出。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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