通过JAVA API启动进程实例时Camunda中的数据持久性

时间:2015-06-08 13:44:53

标签: java camunda

在我正在处理的代码中,我可以通过JAVA API和Camunda cockpit启动流程实例。 除了数据持久性之外,工作流程中没有任何区别。

当我在由JAVA API启动的流程实例上运行HistoricProcessInstance时,我得不到查询结果。 但是,如果我使用Camunda cockpit启动流程实例,则相同的查询会给出结果。

从JAVA API开始:

public String start process (some parameters...){
    Response jsonResult = target.path(serverPathREST).path(path).path(component).path("start")
                            .request(MediaType.APPLICATION_JSON_TYPE)
                            .post(Entity.entity(jsonBody, MediaType.APPLICATION_JSON));
}

在这里,我从服务器和流程实例获得响应200也启动(在Camunda驾驶舱中可见)。

我开始的另一种方式是通过输入各自的参数直接通过Camunda驾驶舱。 在我的流程图中,(在开始符号之后有一个服务任务:为了保持简单),该服务任务有一个查询,用于检索当前流程实例的信息。

问题是,当通过Camunda cockpit启动进程时,此查询将从数据库中检索相应的行;但如果该进程是通过JAVA API启动的,则此查询将检索空结果。我已经使用asyncafter = true来保持状态。

1 个答案:

答案 0 :(得分:0)

找出问题所在。通过JAVA API启动的流程实例将始终触发先前版本的流程实例。我不得不写一个不同的过程来确保我每次都从最新版本开始一个过程。