Hi, I am gettin a Stakcoverflow exception when I try to use ActionHandler or DecisionHandlers/AssignmentHandler in my code. Following is my processdefinition file <?xml version="1.0" encoding="UTF-8"?> | <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="timer_19"> | <start-state name="start"> | <transition to="decision" ></transition> | </start-state> | <decision name="decision"> | <handler class="com.workflow.CostCenterDecisionHandler"></handler> | <transition to="to_end" name="to_end"> | <condition> | <![CDATA[to_end]]> | </condition> | </transition> | <transition to="taskNode" name="taskNode"> | <condition> | <![CDATA[taskNode]]> | </condition> | </transition> | </decision> | <task-node name="taskNode" create-tasks="true"> | <task name="approve_task" description="hula"> | <assignment class="com.workflow.CostCenterAssignmentHandler"> | </assignment> | </task> | <transition to="decision" name="decision"/> | </task-node> | <end-state name="to_end"></end-state> | </process-definition>[/url]
Here I am trying to come back to task node with new task untill decision node explicitly decides to move to end state. I have tested this using junit in Eclipse it works fine. Only when I persist in db and then try to end a task by fetching task instance using Id from db, it gives me STACKOVERFLOW exception. Following is the stachtrace | Caused by: java.lang.StackOverflowError | at java.lang.System.arraycopy(Native Method) | at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100) | at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:490) | at java.lang.StringBuffer.append(StringBuffer.java:302) | at org.apache.log4j.helpers.ISO8601DateFormat.format(ISO8601DateFormat.java:124) | at java.text.DateFormat.format(DateFormat.java:314) | at org.apache.log4j.helpers.PatternParser$DatePatternConverter.convert(PatternParser.java:436) | at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:56) | at org.apache.log4j.PatternLayout.format(PatternLayout.java:495) | at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:292) | at org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:349) | at org.apache.log4j.WriterAppender.append(WriterAppender.java:150) | at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221) | at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57) | at org.apache.log4j.Category.callAppenders(Category.java:187) | at org.apache.log4j.Category.forcedLog(Category.java:372) | at org.apache.log4j.Category.log(Category.java:864) | at org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:137) | at org.hibernate.loader.Loader.loadCollection(Loader.java:1911) | at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:71) | at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520) | at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60) | at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1627) | at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344) | at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) | at org.hibernate.collection.AbstractPersistentCollection.readElementByIndex(AbstractPersistentCollection.java:161) | at org.hibernate.collection.PersistentMap.get(PersistentMap.java:127) | at org.jbpm.graph.def.ProcessDefinition.getDefinition(ProcessDefinition.java:431) | at org.jbpm.graph.def.ProcessDefinition.getFileDefinition(ProcessDefinition.java:441) | at org.jbpm.graph.def.ProcessDefinition$$FastClassByCGLIB$$b47a0f4a.invoke(<generated>) | at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) | at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161) | at org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$4e8ff03.getFileDefinition(<generated>) | at org.jbpm.instantiation.ProcessClassLoader.findResource(ProcessClassLoader.java:47) | at java.lang.ClassLoader.getResource(ClassLoader.java:977) | at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1159) | at org.apache.commons.logging.LogFactory$3.run(LogFactory.java:627) | at java.security.AccessController.doPrivileged(Native Method) | at org.apache.commons.logging.LogFactory.getResourceAsStream(LogFactory.java:623) | at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:281) | at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395) | at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79) | at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:63) | at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1514) | at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1576) | at org.hibernate.loader.Loader.doQuery(Loader.java:661) | at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) | at org.hibernate.loader.Loader.loadCollection(Loader.java:1919) | at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:71) | at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520) | at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60) | at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1627) | at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344) | at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) | at org.hibernate.collection.AbstractPersistentCollection.readElementByIndex(AbstractPersistentCollection.java:161) | at org.hibernate.collection.PersistentMap.get(PersistentMap.java:127) | at org.jbpm.graph.def.ProcessDefinition.getDefinition(ProcessDefinition.java:431) | at org.jbpm.graph.def.ProcessDefinition.getFileDefinition(ProcessDefinition.java:441) | at org.jbpm.graph.def.ProcessDefinition$$FastClassByCGLIB$$b47a0f4a.invoke(<generated>) | at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) | at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161) | at org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$4e8ff03.getFileDefinition(<generated>) | at org.jbpm.instantiation.ProcessClassLoader.findResource(ProcessClassLoader.java:47) | at java.lang.ClassLoader.getResource(ClassLoader.java:977) | at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1159) | at org.apache.commons.logging.LogFactory$3.run(LogFactory.java:627) | at java.security.AccessController.doPrivileged(Native Method) | at org.apache.commons.logging.LogFactory.getResourceAsStream(LogFactory.java:623) | at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:281) | at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395) | at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79) | at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:63) | at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1514) | at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1576) | at org.hibernate.loader.Loader.doQuery(Loader.java:661) | at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) | at org.hibernate.loader.Loader.loadCollection(Loader.java:1919) | at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:71) | at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520) | at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60) | at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1627) | at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344) | at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) | at org.hibernate.collection.AbstractPersistentCollection.readElementByIndex(AbstractPersistentCollection.java:161) | at org.hibernate.collection.PersistentMap.get(PersistentMap.java:127) | at org.jbpm.graph.def.ProcessDefinition.getDefinition(ProcessDefinition.java:431) | at org.jbpm.graph.def.ProcessDefinition.getFileDefinition(ProcessDefinition.java:441) | at org.jbpm.graph.def.ProcessDefinition$$FastClassByCGLIB$$b47a0f4a.invoke(<generated>) | at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) | at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161) | at org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$4e8ff03.getFileDefinition(<generated>) | at org.jbpm.instantiation.ProcessClassLoader.findResource(ProcessClassLoader.java:47) | I get a very huge stack trace with above repeating block of trace. I have already spent 4 days debuging the issue. Any input/help from any body is appreciated. ThankX in advance View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4201003#4201003 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4201003 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user