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.