使用jfinal 集成activity工作流,怎么做事务控制?

发布于 2021-12-01 02:10:23 字数 758 浏览 804 评论 3

请大神帮忙看看问题,这里先谢谢大家,问题如下


框架使用jfinal+cxf+activity技术,通过Enhancer.enhance(obj, Tx.class),操作普通的数据库操作可以做到事务控制。

但是操作activity工作流(工作流采用了mybatis-3.2.5.jar)时,没有受到事务控制

activity工作流和系统采用的是同一个数据源

数据源配置 如图


工作流插件如下




本人推测的观点应该是 因为我使用的是

DseActivitiProcessEnginePlugin act = DseActivitiProcessEnginePlugin.getInstance();

获取到的数据连接和jfinal获取到的数据连接不是一个,因此不受事务控制了,如果问题是这个,jfinal怎么来控制呢?


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

可是我不能没有你 2021-12-01 14:31:05

终于找到了,按照这个做,已经完全实现

http://www.codeweblog.com/activiti%E4%BA%8B%E5%8A%A1%E5%92%8C%E8%87%AA%E5%B7%B1%E4%B8%9A%E5%8A%A1%E4%BA%8B%E5%8A%A1%E5%85%B1%E5%90%8C%E7%9A%84%E4%BD%BF%E7%94%A8/

像你 2021-12-01 12:11:54

jfinal 的数据库操作要和工作流的数据库操作在同一个事务中,因为在办理的环节需要对业务数据进行数据库操作,貌似你提的这种方案不可行。不过还是谢谢你

把回忆走一遍 2021-12-01 07:16:27

第一种情况叫组合服务,第二种情况是action调用两次原子服务。当工作流采用独立的产品的时候,一般用第二种情况,即先保存订单,再去调用工作流接口启动工作流实例。但是要注意的是启动工作流是一个异步操作,需要进 MQ,这样支持启动工作流失败时候的重试。即工作流是否启动成功原则上不应该影响到订单本身的提交。事务控制:
http://edu.51cto.com/course/course_id-3795.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文