• No replies
8 Posts

Pinned topic BPM 8 REST API Cache problem?

‏2013-06-17T16:23:08Z | api bpm cache problem rest

Hello guys,

we are facing the following problem:

We have a bpm process that uses a two tasks logic - one user completes a task, second user checks what was done and sends resolution. If it's negative, the first user has to revise his work and another resolution is made, etc. until everything is fine and the process is closed.

When the first user is working on his his task, at some point on one of his coaches, an integrated external application (java servlet in the BPM coach) sends a rest api call to obtain a variable value, that was set in a prevoius step. The call is from the BPM Rest Service Api - GetData. The call returns the correct value when called the first time in the first occurence of the task.

But if the first user receives negative resolution and he needs to revise his work and do the task again (we have an iteration), when he reaches the step with the external servlet, the Rest Api call seems to have cached the results from the first call and returns the result from the first call. In the process the value is changed properly, but the Rest Api can't get the updated result. The rest call is made towards the task id of the new task that is generated by the negative resolution.

We noticed something that might help narrow down the problem: If you make the Rest Api call before the value is actually set - the call returns empty string for the variable value and right there the problem starts - every call for the value after that returns empty string even though the value is set in the task and visible in the debugger. After the task is completed the rest api call still returns the empty string. If you make the same call for a previous task it returns the correct value and starts working properly again (probably clears the cache).

This is not browser cache as if I try the call from another workstation or different browsers the result is still not updated. It is not cached for a specific time as we waited for the value to change and the update is visible after different time periods and different actions (it seems that at some point the value gets refreshed but it is not at exact time , something else triggers the value to be updated in the rest api call result).

The version is 8.0 with fixes up untill May 2013. Platform is AIX 64bit. Database is DB2.

Please help if you have any idea?