I got about 1500 taskInstances in my DB applied to a single user.
I'm extracting all these TaskInstances via
jbpmCtx.getTaskList("actorId");
  | 
Then I'm accessing the contextVariables of the according contextInstance by
Token tk = taskInstance.getToken();
  |                     ProcessInstance pi = tk.getProcessInstance();
  |                     ContextInstance ci = pi.getContextInstance();
  |                         ci.getVariable("nameOfVariable");
  | 
Problem is, that the ProcessInstance, ContextInstance and Variables are fetched 
non lazy by Hibernate. Thus for each access to a Set of variables a new query 
is executed. It takes ca. 50 sec to retrieve all the results i need, wich is 
much too long!

Currently I'm trying a workaround based upon HQL like this:
List<Object> list =
  | s.createQuery("select ti, tk, pi, vi " + 
  | "from TaskInstance ti " + 
  | "join ti.token tk " + 
  | "join tk.processInstance pi, " +
  | "VariableInstance vi " + 
  | "where vi.token=tk").
  | list();
This is rather ugly...

Does anyone know, or can anyone think of another, better way to initialize the 
Variables of the according ContextInstance of a TaskInstance.?

By the way...
Shouldn't the global variables of a Token be passed through to the local 
variables of a TaskInstance? Currently they are not... Is this a bug?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4032330#4032330

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4032330
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to