Pageflow Not Creating JBPM Context Midway Thru Flow
darthmaul Aug 4, 2008 11:02 PMI have created a pageflow that fails when a page contains controls like a converter and a rich:calendar. By fails, I mean the pageflow simply rerenders the current page and loses the conversation. Removing these controls allows the pageflow to proceed just fine. I have compared the logs in the two situations and found something interesting.
Here is when things fail:
04 Aug 2008 15:59:38,541: DEBUG org.jbpm.graph.def.GraphElement - event 'before-signal' on 'Page(selection)' for 'Token(/)' 04 Aug 2008 15:59:38,541: DEBUG org.jbpm.graph.def.GraphElement - event 'node-leave' on 'Page(selection)' for 'Token(/)' 04 Aug 2008 15:59:38,541: DEBUG org.jbpm.graph.def.GraphElement - event 'transition' on 'Transition(setShippingPayment)' for 'Token(/)' 04 Aug 2008 15:59:38,541: DEBUG org.jbpm.graph.def.GraphElement - event 'node-enter' on 'Page(setShippingPayment)' for 'Token(/)' 04 Aug 2008 15:59:38,541: DEBUG org.jbpm.graph.def.GraphElement - event 'after-signal' on 'Page(selection)' for 'Token(/)' 04 Aug 2008 15:59:38,541: DEBUG org.jbpm.JbpmContext - closing JbpmContext 04 Aug 2008 15:59:38,811: DEBUG gov.nist.srm.persistence.Order - Order.getItems 04 Aug 2008 16:00:13,602: DEBUG gov.nist.srm.persistence.Order - Order.getItems
Here is when things work:
04 Aug 2008 16:14:37,130: DEBUG org.jbpm.graph.def.GraphElement - event 'before-signal' on 'Page(selection)' for 'Token(/)' 04 Aug 2008 16:14:37,130: DEBUG org.jbpm.graph.def.GraphElement - event 'node-leave' on 'Page(selection)' for 'Token(/)' 04 Aug 2008 16:14:37,130: DEBUG org.jbpm.graph.def.GraphElement - event 'transition' on 'Transition(setShippingPayment)' for 'Token(/)' 04 Aug 2008 16:14:37,130: DEBUG org.jbpm.graph.def.GraphElement - event 'node-enter' on 'Page(setShippingPayment)' for 'Token(/)' 04 Aug 2008 16:14:37,130: DEBUG org.jbpm.graph.def.GraphElement - event 'after-signal' on 'Page(selection)' for 'Token(/)' 04 Aug 2008 16:14:37,130: DEBUG org.jbpm.JbpmContext - closing JbpmContext 04 Aug 2008 16:14:37,440: DEBUG gov.nist.srm.persistence.Order - Order.getItems 04 Aug 2008 16:14:43,439: DEBUG gov.nist.srm.persistence.Order - Order.getItems 04 Aug 2008 16:14:43,439: DEBUG org.jbpm.configuration.JbpmContextInfo - creating jbpm context with service factories '[]' 04 Aug 2008 16:14:43,439: DEBUG org.jbpm.JbpmContext - creating org.jbpm.JbpmContext@10d4ae5 04 Aug 2008 16:14:43,439: DEBUG org.jbpm.graph.def.GraphElement - event 'before-signal' on 'Page(setShippingPayment)' for 'Token(/)' 04 Aug 2008 16:14:43,439: DEBUG org.jbpm.graph.def.GraphElement - event 'node-leave' on 'Page(setShippingPayment)' for 'Token(/)' 04 Aug 2008 16:14:43,439: DEBUG org.jbpm.graph.def.GraphElement - event 'transition' on 'Transition(confirm)' for 'Token(/)' 04 Aug 2008 16:14:43,439: DEBUG org.jbpm.graph.def.GraphElement - executing action 'action[#{paymentAction.addPaymentToOrder}]' 04 Aug 2008 16:14:43,439: DEBUG org.jbpm.graph.exe.Token - token[0] is locked by token[0]
As you can see, the issue seems to be this:
DEBUG org.jbpm.configuration.JbpmContextInfo - creating jbpm context with service factories '[]'
When things work, the JBPM context is created, but for some reason, the presence of components like f:converter and rich:calendar cause this not to happen. Just to see what happens, I substituted my own converter for the standard converter, and things worked great. But the calendar continues to cause me trouble.
Of course, the presence of the offending components is just a symptom of something else. Can anyone tell me what would stop the creation of a JBPM context midflow? How could components interfere with the context?
Any insight is appreciated.
Thanks.