请教Activiti 并发启动流程死锁问题

weixin_38065391 2018-12-30 05:29:21
 开发四年只会写业务代码,分布式高并发都不会还做程序员?->>>      1. 多线程并发启动 :  runtimeService.startProcessInstanceByKey(processDefinitionKey,variables); 2. 版本6.0.0 或 7.0.0.Beta4 3. 数据库:mysql 5.7.18 导致: Deadlock found when trying to get lock; try restarting transaction
...全文
1919 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29005691 2021-12-20
  • 打赏
  • 举报
回复

楼主问题解决了吗

weixin_38082570 2019-04-12
  • 打赏
  • 举报
回复
问一下上面的问题解决了吗
weixin_38080213 2019-01-08
  • 打赏
  • 举报
回复
1. 流程节点UserTask,绑定了事务监听器,监听器中,服务S 对Variable设值(step1),并MQ发起请求; 服务S通过MQ收到应答,又对Variable设值(step2);因为step1,step2为不同线程,开启不同的事务,对act_ru_variable 表更新时,易出现乐观锁异常: xxx wap updated by another transaction concurrently.   2. activiti 6.0.0 并发开启流程,执行流程时,会出现获取不到数据库连接的异常;方法:将druid移除,采用springboot tomcat自带的数据库连接池;
weixin_38067090 2019-01-01
  • 打赏
  • 举报
回复
1. 节点设置为 非异步,独占,似乎可以避免;eg: //非异步
userTask.setAsynchronous(false);
//排他
userTask.setNotExclusive(false); 2. 参考 《Activiti实战》14.2.3 独占与异步  P341~345

474

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧