Suppose that you pass some data from a process variable as a parameter into a human task. The
variable is then updated at a later time in a parallel stream of execution in the BPEL process while
the human task still executing (that is, before is auctioned by the assignee)
What does the assignee see after opening the task in the workspace and looking at the
parameter?
A.
The parameter contains the values of the process variable as it was when the task was created.
B.
The parameter contains the values of the process variable as it is at the current time (that is,
when the user opened the human task in the workspace).
C.
The parameter is empty, and the task must be restarted to pick up the new values of the
processes variable.
D.
It is not possible to determine from the information.
Explanation:
Note: The BPEL process specification does not provide a mechanism to ensure the thread safety
of BPEL variables (that is, a lack of a synchronized qualifier such as in Java), which is necessary
for true multithreaded programming.
I believe that the answer is B exactly for the reason mentioned in the explanation there is no thread safety
On the explanation it says that is not ensured, but it can maintain the same value as when it was created. I guess the question and the answers lack informations to be absolutely sure.
B or A? I am leaning toward B
It is A. The BPEL process specification does not provide a mechanism to ensure the thread safety of BPEL variables (that is, a lack of a synchronized qualifier such as in Java), which is necessaryfor true multithreaded programming.
I too go with Answer A as I experienced ..