I use the Seam annotations to launch a JBPM process and outject to the BUSINESS_PROCESS context. Everything works great but I find that the outjected variable gets "removed" from JBPM at some indeterminate later time. For example, after the process has been launched (and is in a wait-state), the following code which retrieves the task instances for the current actor and tries to retrieve the variable initially outjected:
List<TaskInstance> tasks = context.getTaskMgmtSession().findTaskInstances(actorId);
for (TaskInstance task : tasks)
Object variable = task.getVariable("NAME USED TO OUTJECT");
returns "variable" correctly as long I this code runs shortly after the process is launched. After a little while, "variable" is null. Is there something about business process variable lifecycle I don't understand?