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");