[jboss-user] [jBPM] - Starting a BusinessProcess out of a PageFlow

Heri Bender do-not-reply at jboss.com
Wed May 19 07:28:50 EDT 2010


Heri Bender [http://community.jboss.org/people/hbender] replied to the discussion

"Starting a BusinessProcess out of a PageFlow"

To view the discussion, visit: http://community.jboss.org/message/543805#543805

--------------------------------------------------------------
Hi Alejandro

Thanks that you want to have a closer look.

Attached an archive of a project which shows the problem.

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 DB

After 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 at 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 at 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 at 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 at 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 at 13f557
DEBUG [main   ] org.jbpm.persistence.db.DbPersistenceService - committing org.hibernate.transaction.JTATransaction at 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 at 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)

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/543805#543805]

Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100519/8daae4e9/attachment-0001.html 


More information about the jboss-user mailing list