I am using jbpm 3.1.1. I have defined a very simple process that looks as follows:
start --> node --> end
There are no wait states. Now, from the jbpm user's guide, I see this quote:
"The idea is to start execution on process instances and that the execution continues till it enters a wait state."
I execute my business process using the following code:
GraphSession graphSession = jbpmContext.getGraphSession(); log.debug("Finding process definition: MyProcess"); ProcessDefinition processDefinition = graphSession.findLatestProcessDefinition("MyProcess"); log.debug("Creating new process instance: MyProcess"); ProcessInstance processInstance = new ProcessInstance(processDefinition); log.debug("Saving process instance: MyProcess"); jbpmContext.save(processInstance); og.debug("Executing business process: MyProcess"); processInstance.signal(); log.debug("Is process ended? " + processInstance.hasEnded()); log.debug("Saving process instance: MyProcess"); jbpmContext.save(processInstance); String status = (String) processInstance.getContextInstance().getVariable(PVAR_engineStatus); log.info("return=" + status);
Nix this question. I neglected to put a leaveNode() method in my code.