Firstly I am new to jBPM and I appologise if this has been asked dozens of time before or its a dumb ass question. I have done a fair bit of googling and not been able to come up with an answer yet. I am happy to read so if a reply is a pointer to somewhere that can tell me how to do what I want to do I will be happy.
I have defined my process, which initially will be very simple, but will become more complicated later. Initially it has no human interaction but it will which is why we are using jBPM.
My process has 3 nodes. From the start it transitions to a node that will identify a list of people that will eventually sign off. From there it will go to a node that identifies if the task needs to be assigned to a person, if it does not it transitions to a node that checks if all people have signed off and if they have transitions to the end. The rules for who signs off have yet to be decided so the second node and third node will drop straight thru the true leg. Eventually these nodes will branch and the process will look like http://www.sjwcc.com/processimage.jpg.
I had planned on writing Actions for all my steps so I have an action that fires when the first node is entered which updates a status in the database, this action works fine. I then have an action that will identify the sign-offs and place a serializable object in a context variable, this also get fired. I also have an action which will identify if we need more sign-offs and if we need to assign the request. Finally I have actions that are fired on transition to log events in a database.
My UI fires an event (via dwr) which kicks off the whole process by creating an instance of the process and calling the signal event. I can see the first node getting hit because I see the on entry action and the event action firing, however it progresses no further. I tried putting a signal in the ActionHandler but that does not work. How would you normally get the process model to move on to the next step. Do I have to do a signal for each node to get it to progress? I presume there is no automatic movement from one node to the next if there is no user wait state.
If I want to trigger the process from a dwr and then allow the user to carry on and have the process running in the background do I need to start a thread process on the weblogic server to keep sending signals? Or use something like a message driven bean and send it a message to proceed? Will I then need to send it a message in the ActionHandler for each node to get it to continue?
Are there any documents or resources out there that walk you through the setup of a jBPM process model?