The persistence of JBPM3 is based on hibernate3. Due to the relationship with JBoss, it is estimated to adopt the implementation of EJB3 mode in the future; and its current implementation, the basic class of AgileFlow:
1) JbpmSessionFactoryJbpmSessionFactory hibernate.cfg.xml successively read from the file sequentially following positions: a) the user specifies buildDbSessionFactory (String configResource) b) if the specified from the jbpm.properties (configResource == null) {configResource = JbpmConfiguration. GetString ("jbpm.hibernate.cfg.xml");} c) Press Hibernate to handle your own processing: Look for JBPMSessionFactory from the class Directory.
2) JBPMSessionJBPMSession encapsulates JBPMSessionFactory, Session, Transaction, which can get JBPMSessionFactory in JBPMSession and produce other connections.
AgileFlow only provides two ways: 1) agileFlow.connectTOSERVER (); it will generate session, may start transaction; in the later code, you can get the current connection .2) agileflow.disconnectServer (); end transaction, close session .
In terms of the convenience of the user, I still think that AgileFlow's implementation is better.