gpt4 book ai didi

java - Activiti BPMN 引擎 : store custom property in Database

转载 作者:太空宇宙 更新时间:2023-11-04 11:14:55 24 4
gpt4 key购买 nike

我用的是最新的Acitiviti 5.22.0引擎(更具体地说,我使用 Alfresco Process Services 1.6.3),并且我实现了一个 Spring bean,每 10 分钟执行一次,以生成所有流程的 JSON 表示(流程名称、开始日期、结束日期、当前任务名称和受让人),将它们发送到审计服务器。问题是,我只需要发送自上次运行以来所有更改的进程。

我不想在流程发生变化时立即发送 JSON,而是希望每 10 分钟对我的审核系统进行一次批量更新。

为了实现这一目标,我尝试了不同的方法。我的最新一篇:

  1. 创建一个事件监听器 Bean,用于监听所有 PROCESS_STARTED、PROCESS_COMPLETED、PROCESS_CANCELLED、TASK_COMPLETED...
  2. 每次触发事件时,存储一个流程变量“_dirty”并将其设置为 true
  3. 每 10 分钟(执行我的 JSON-bean 时)查询“_dirty”变量设置为 true 的所有进程
  4. 将 JSON 发送到审核系统后,将所有“_dirty”流程变量设置为 false。

这种方法的问题是:进程结束后我无法更新“_dirty”变量。至少我不知道如何。

我的第二种方法是将每个事件的 processInstanceId 存储到“全局”属性中,但我不知道如何将此“全局”属性存储到数据库中,以防服务器重新启动。有没有一种方法可以将属性或实体持久保存到数据库中,而无需创建额外的表、DAO 等?

关于如何解决这个任务有什么想法吗?非常感谢所有提示!

最佳答案

据我所知,没有这样的选项

但是你看看这个。看看它是否对您的情况有帮助。 https://www.activiti.org/userguide/#_database_tables

关于java - Activiti BPMN 引擎 : store custom property in Database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45572587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com