Hello,
I tried to setup a sample standalone "hello" application that attempts to
run a process involving human tasks.
Main components were:
- mina task server (as documentation hinted, based on a sample),
- standalone "hello sort of" application running a ruleflow with some
workitems including a human task too,
- eclipse human task view.
I setup the persistence - following the documentation, asked for a jta
datasource and used bitronix transaction manager.
The application:
- begins a new user transaction
- creates a new process instance in a stateful session
- calls fireallrules
- waits on the console with System.in.read() (this was already a workaround
to avoid completing the user transaction before the human task is handled in
the HT view, this otherwise caused a nullpointer assigment at line 83 in
JPAWorkItemManager which tried to refer to variable "em" which when set
returned null for the following assignment if usertransaction were
committed:
EntityManager em = (EntityManager) this.workingMemory.getEnvironment().get(
EnvironmentName.ENTITY_MANAGER );)
... following the above the message reaches the human task server, and then
the task appears in the human task view - so far so good.
Then when the task is started and completed in the view, the
"GetCompletedTaskResponseHandler.execute()" begins handling the completed
message. Unfortunately this call fails with :
" no transaction started on this thread"
I have then checked the threads in the debug view and looked like the
message response is actually running in the "NioProcessor" thread. At this
point I got stuck. If there is some guideance on how to correctly setup
transaction management and Mina task client/human task work item handler it
would be very much appreciated.
thank you.