を使用してActiviti 5.12
います。ユーザーガイドで提供されているように、プロセスインスタンスの詳細を取得するための REST API は次のとおりです。
GET /process-instance/{processInstanceId}
その応答は次のようなものです。
{
"id": "2",
"processDefinitionId": "financialReport:1",
"businessKey": "55",
"startTime": "2010-10-13T14:54:26.750+02:00",
"startActivityId": "startFinancialAnalysis",
"startUserId": "kermit",
"completed": false,
"tasks": [
{
"taskId": "3",
"taskName": "Analyze report",
"owner": null,
"assignee": "Kermit",
"startTime": "2010-10-13T14:53:26.750+02:00",
"completed": false
}
],
"activities": [
{
"activityId": "4",
"activityName": "Get report",
"activityType": "ServiceTask",
"startTime": "2010-10-13T14:53:25.950+02:00",
"completed": true,
"duration": 200
}
],
"variables": [
{
"variableName": "reportName",
"variableValue": "classified.pdf"
}
],
"historyVariables": [
{
"variableName": "reportName",
"variableValue": "classified.pdf",
"variableType": "String",
"revision": 1,
"time": "2010-10-13T14:53:26.750+02:00"
}
]
}
同じための Java API も提供されています。
ProcessEngines.getProcessEngine(configuredProcessEngineName).getHistoryService().createHistoricProcessInstanceQuery().processInstanceId("somevalue").singleResult()
HistoricProcessInstance
戻り型にはタスク リストを取得するメソッドがないため、この Java API は機能しません。
私の目的は、プロセス インスタンスの現在の状態、つまり現在どのタスクにあるかを取得することです。
REST API は、プロセス インスタンスが実行したすべてのタスクを一覧表示します。リストの最後のタスクは、そのプロパティcompleted
がであるため、現在実行中のタスクですfalse
。
Javaコードから同じことを達成したい。
助けてください。私の目的に到達するための別の方法も、私にとっては問題ありません。