- 1. 简介
- 2. 开始
- 3. 配置
- 4. Flowable API
- 5. 集成 Spring
- 6. 部署
- 7. BPMN 2.0 介绍
- 8. BPMN 2.0 结构
- 9. 表单
- 10. JPA
- 11. 历史
- 12. 身份管理
- 13. Eclipse Designer
- 14. Flowable UI 应用
- 15. REST API
- 16. 集成 CDI
- 17. 集成 LDAP
- 18. 高级
- 19. 工具
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
18.3. 高并发下使用的 UUID ID 生成器
在某些(非常)高并发负载的情况下,默认的ID生成器可能会由于不能足够快地获取新的id块而产生异常。每个流程引擎都有一个ID生成器。默认的ID生成器会在数据库中保存一块ID,这样其他引擎就不能使用同一个块中的ID。引擎运行时,当ID生成器发现ID块已经用完,就会启动一个新的事务,来获取一个新的块。在(非常)有限的使用场景下,当负载非常高时可能导致问题。对于大多数用例来说,默认的ID生成器已经足够使用了。默认的org.flowable.engine.impl.db.DbIdGenerator
也有一个idBlockSize
参数,用于配置保留的ID块的大小,调整获取ID的行为。
可以使用org.flowable.engine.impl.persistence.StrongUuidGenerator
替换默认的ID生成器。它会在本地生成唯一的UUID,并将其用于所有实体的标识符。因为UUID不需要访问数据库就能生成,因此在非常高并发的使用场景下更合适。请注意取决于机器,性能可能与默认的ID生成器不同(更好更坏都有可能)。
可以在flowable配置中,像下面这样配置UUID生成器:
<property name="idGenerator">
<bean class="org.flowable.engine.impl.persistence.StrongUuidGenerator" />
</property>
使用UUID id生成器需要添加下列额外依赖:
<dependency>
<groupId>com.fasterxml.uuid</groupId>
<artifactId>java-uuid-generator</artifactId>
<version>3.1.3</version>
</dependency>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论