-
1. Re: Starting a BusinessProcess out of a PageFlow
aguizar May 19, 2010 4:41 AM (in response to hbender)Heri, can you put together a small app that allows me to reproduce this problem?
-
2. Re: Starting a BusinessProcess out of a PageFlow
hbender May 19, 2010 7:49 AM (in response to aguizar)Hi Alejandro
Thanks that you want to have a closer look.
Attached an archive of a project which shows the problem (remark: it was a bit too big. I removed the lib jars from todoList/WebContent/WEB-INF/lib. I assume, you can add them manually again)
It is a seam generated ear project, in fact the todoList-Demo of seam 2.2. jBPM is version 3.2.5, the Project was maintained in JBossDevStudio 3.0.
The problem arises when deploying:
12:24:05.223 (3853197) ERROR [HDScanner] org.jbpm.jpdl.xml.JpdlXmlReader - couldn't parse process definition
java.lang.NullPointerException
at org.jbpm.graph.node.DbSubProcessResolver.findSubProcess(DbSubProcessResolver.java:43)
at org.jboss.seam.bpm.Jbpm$SeamSubProcessResolver.findSubProcess(Jbpm.java:374)
at org.jbpm.graph.node.ProcessState.read(ProcessState.java:90)
at org.jbpm.jpdl.xml.JpdlXmlReader.readNodes(JpdlXmlReader.java:261)
at org.jboss.seam.bpm.PageflowParser.readNodes(PageflowParser.java:41)
at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:157)
at org.jboss.seam.bpm.Jbpm.parseInputSource(Jbpm.java:359)
at org.jboss.seam.bpm.Jbpm.getPageflowDefinitionFromResource(Jbpm.java:165)
at org.jboss.seam.bpm.Jbpm.installPageflowDefinitions(Jbpm.java:278)at org.jboss.seam.bpm.Jbpm.startup(Jbpm.java:81)
...
When stepping through the code I can see that the DbSubProcessResolver.findSubProcess() method does not get a GraphSession (line 43), because I forgot to include the
<service name="persistence" factory="org.jbpm.persistence.db.DbPersistenceServiceFactory" />
line in jbpm.cfg.xml. Astonishing, because before the ProcessDefinition was entered successfully into DBAfter I have added this line, the error occurs already before above code is executed:
ERROR [main ] org.jbpm.persistence.db.DbPersistenceService - hibernate commit failed
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JTATransaction.commit(JTATransaction.java:134)
at org.jbpm.persistence.db.DbPersistenceService.commit(DbPersistenceService.java:266)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:222)
....
Analyzing the log shows that now different persistence handlers are involved:
Log-Output (without having declared persistence-service -> Error is no GraphSession):
--------------------------------------------------------------------------------------INFO [HDScanner] org.jboss.logging.Logger.info(Logger.java:296) - JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
DEBUG [HDScanner] org.jbpm.persistence.jta.JtaDbPersistenceService.beginUserTransaction(JtaDbPersistenceService.java:74) - begin user transaction
DEBUG [HDScanner] org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:104) - using current hibernate session
INFO [HDScanner] org.jboss.logging.util.LoggerStream.write(LoggerStream.java:156) - Hibernate: select processdef0_.ID_ as ID1_224_, processdef0_.NAME_ as NAME3_224_, processdef0_.DESCRIPTION_ as DESCRIPT4_224_, processdef0_.VERSION_ as VERSION5_224_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_224_, processdef0_.STARTSTATE_ as STARTSTATE7_224_ from JBPM_PROCESSDEFINITION processdef0_ where processdef0_.NAME_=? order by processdef0_.VERSION_ desc limit ?
INFO [HDScanner] org.jboss.logging.util.LoggerStream.write(LoggerStream.java:156) - Hibernate: insert into JBPM_PROCESSDEFINITION (NAME_, DESCRIPTION_, VERSION_, ISTERMINATIONIMPLICIT_, STARTSTATE_, CLASS_) values (?, ?, ?, ?, ?, 'P')
...
INFO [HDScanner] org.jboss.logging.util.LoggerStream.write(LoggerStream.java:156) - Hibernate: insert into JBPM_MODULEDEFINITION (NAME_, PROCESSDEFINITION_, STARTTASK_, CLASS_) values (?, ?, ?, 'T')
DEBUG [HDScanner] org.jbpm.JbpmContext.close(JbpmContext.java:125) - closing jbpmContext org.jbpm.JbpmContext@5de3bd
DEBUG [HDScanner] org.jbpm.persistence.jta.JtaDbPersistenceService.endUserTransaction(JtaDbPersistenceService.java:92) - committing user transaction
INFO [HDScanner] org.jboss.logging.util.LoggerStream.write(LoggerStream.java:156) - Hibernate: update JBPM_PROCESSDEFINITION set NAME_=?, DESCRIPTION_=?, VERSION_=?, ISTERMINATIONIMPLICIT_=?, STARTSTATE_=? where ID_=?
...
INFO [HDScanner] org.jboss.logging.util.LoggerStream.write(LoggerStream.java:156) - Hibernate: update JBPM_TRANSITION set TO_=? where ID_=?
DEBUG [HDScanner] org.jbpm.configuration.JbpmContextInfo.createObject(JbpmContextInfo.java:145) - creating jbpm context with service factories '[]'
DEBUG [HDScanner] org.jbpm.JbpmContext.<init>(JbpmContext.java:115) - creating org.jbpm.JbpmContext@1499884
DEBUG [HDScanner] org.jbpm.configuration.JbpmContextInfo.createObject(JbpmContextInfo.java:145) - creating jbpm context with service factories '[]'
DEBUG [HDScanner] org.jbpm.JbpmContext.<init>(JbpmContext.java:115) - creating org.jbpm.JbpmContext@9fa838
ERROR [HDScanner] org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:168) - couldn't parse process definition
org.dom4j.DocumentException: Read error Nested exception: Read error
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.jbpm.jpdl.xml.JpdlParser.parse(JpdlParser.java:66)
at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:142)
at org.jboss.seam.bpm.Jbpm.parseInputSource(Jbpm.java:359)
...
Log-Output (without having declared persistence-service -> error arise somewhere in the persistence handlers):
-------------------------------------------------------------------------------------------------------------
DEBUG [main ] org.jbpm.persistence.db.DbPersistenceService - creating hibernate session
DEBUG [main ] org.jbpm.persistence.db.DbPersistenceService - beginning hibernate transaction
DEBUG [main ] org.jbpm.persistence.db.DbPersistenceService - begun hibernate transaction org.hibernate.transaction.JTATransaction@8422f0
INFO [main ] STDOUT - Hibernate: select processdef0_.ID_ as ID1_0_, processdef0_.NAME_ as NAME3_0_, processdef0_.DESCRIPTION_ as DESCRIPT4_0_, processdef0_.VERSION_ as VERSION5_0_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_0_, processdef0_.STARTSTATE_ as STARTSTATE7_0_ from JBPM_PROCESSDEFINITION processdef0_ where processdef0_.NAME_=? order by processdef0_.VERSION_ desc limit ?
...
INFO [main ] STDOUT - Hibernate: insert into JBPM_MODULEDEFINITION (NAME_, PROCESSDEFINITION_, STARTTASK_, CLASS_) values (?, ?, ?, 'T')
DEBUG [main ] org.jbpm.JbpmContext - closing jbpmContext org.jbpm.JbpmContext@13f557
DEBUG [main ] org.jbpm.persistence.db.DbPersistenceService - committing org.hibernate.transaction.JTATransaction@8422f0
INFO [main ] STDOUT - Hibernate: update JBPM_PROCESSDEFINITION set NAME_=?, DESCRIPTION_=?, VERSION_=?, ISTERMINATIONIMPLICIT_=?, STARTSTATE_=? where ID_=?
...
INFO [main ] STDOUT - Hibernate: update JBPM_TRANSITION set TO_=? where ID_=?
DEBUG [main ] org.jbpm.persistence.db.DbPersistenceService - closing hibernate session
DEBUG [main ] org.jbpm.persistence.db.DbPersistenceService - committing org.hibernate.transaction.JTATransaction@8422f0
ERROR [main ] org.jbpm.persistence.db.DbPersistenceService - hibernate commit failed
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JTATransaction.commit(JTATransaction.java:134)
at org.jbpm.persistence.db.DbPersistenceService.commit(DbPersistenceService.java:266)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:222)
at org.jbpm.svc.Services.close(Services.java:294)
at org.jbpm.JbpmContext.close(JbpmContext.java:136)
at org.jboss.seam.bpm.Jbpm.installProcessDefinitions(Jbpm.java:304)
at org.jboss.seam.bpm.Jbpm.startup(Jbpm.java:80) -
3. Re: Starting a BusinessProcess out of a PageFlow
hbender May 19, 2010 7:48 AM (in response to hbender)Sorry, the previous archive missed some files. Find attached a new archive (again the jars from lib stripped off).
Heri
-
PageFlowProblem-Demo.rar.zip 5.7 MB
-