[jboss-user] [JBoss jBPM] - org.hibernate.PersistentObjectException - after creating Tim
MikeSchulze
do-not-reply at jboss.com
Tue Nov 25 11:06:44 EST 2008
Hi,
within my process-definition, I have two state-nodes. When the node-entry event occurs a timer is created. When the 1st timer is done it propagate to the 2nd node. After the propagation and the creation of the 2nd timer I get this exception.
16:50:14,000 ERROR [GraphElement] action threw exception: uninitialized proxy passed to save()
| org.hibernate.PersistentObjectException: uninitialized proxy passed to save()
| at org.hibernate.event.def.DefaultSaveEventListener.reassociateIfUninitializedProxy(DefaultSaveEventListener.java:49)
| at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:59)
| at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
| at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
| at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
| at org.jbpm.db.JobSession.saveJob(JobSession.java:99)
| at org.jbpm.scheduler.db.DbSchedulerService.createTimer(DbSchedulerService.java:43)
| at org.jbpm.scheduler.def.CreateTimerAction.execute(CreateTimerAction.java:79)
| at org.jboss.seam.bpm.SeamUserCodeInterceptor$1.process(SeamUserCodeInterceptor.java:80)
| at org.jboss.seam.bpm.SeamUserCodeInterceptor$ContextualCall.run(SeamUserCodeInterceptor.java:40)
| at org.jboss.seam.bpm.SeamUserCodeInterceptor.executeAction(SeamUserCodeInterceptor.java:74)
| at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:257)
| at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:215)
| at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:185)
| at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:169)
| at org.jbpm.graph.def.Node.enter(Node.java:302)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.def.Node_$$_javassist_139.enter(Node_$$_javassist_139.java)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:393)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.node.State_$$_javassist_100.leave(State_$$_javassist_100.java)
| at org.jbpm.graph.exe.Token.signal(Token.java:192)
| at org.jbpm.graph.exe.Token.signal(Token.java:155)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.graph.exe.Token_$$_javassist_154.signal(Token_$$_javassist_154.java)
| at org.jbpm.job.Timer.execute(Timer.java:93)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
| at org.jbpm.job.Job_$$_javassist_144.execute(Job_$$_javassist_144.java)
| at org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:173)
| at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
|
| tritt auf, wenn nach einem Timeraufruf auf einen Knoten weitergeleitet wird, bei dem im enter-nodee event ein neuer Timer erzeugt wird.
The first timer is successfully deleted from the Job-Table after it was done.
This is the part of my process-definition:
<start-state name="startOrder">
| <transition to="waitForAddress"/>
| </start-state>
|
| <state name="waitForAddress">
| <event type="node-enter">
| <create-timer name="waitForAddress" duedate="#{professionalOrdermanagementTimerConfigurator.getWaitForAddress()}" transition="deliveryAddressSet">
| <action name="deadlineReached" expression="#{professionalOrdermanagementProcessController.deliveryAddressSet()}"></action>
| </create-timer>
| </event>
| <event type="node-leave">
| <cancel-timer name="waitForAddress"/>
| <action name="log" expression='#{professionalOrdermanagementProcessmanager.logInfo("leaveWaitForAddress")}'></action>
| </event>
| <transition to="waitForIncomingPayment" name="deliveryAddressSet"></transition>
| <transition to="reversal" name="cancelOrder"></transition>
| </state>
|
| <state name="waitForIncomingPayment">
| <event type="node-enter">
| <action name="log" expression='#{professionalOrdermanagementProcessmanager.logInfo("entering WaitForIncomingPayment...")}'></action>
| <create-timer name="waitForIncomingPayment" duedate="#{professionalOrdermanagementTimerConfigurator.getDueDate()}" transition="paymentOverdue">
| <action name="deadlineReachedNow" expression="#{professionalOrdermanagementPaymentProcesscontroller.deadlineReached()}"></action>
| </create-timer>
| </event>
| <event type="node-leave">
| <cancel-timer name="waitForIncomingPayment"/>
| </event>
| <transition to="orderDone" name="paymentReceived"></transition>
| <transition to="overdue" name="paymentOverdue"></transition>
| <transition to="reversal" name="cancelOrder"></transition>
| </state>
| ...
|
I am using jBPM 3.2.3 Seam 2.1 and JBoss 4.2.2
Does anybody why I get this exception?
Thx Mike
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4192182#4192182
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4192182
More information about the jboss-user
mailing list