[jboss-user] [JBoss jBPM] - JBPMContext.close cause Exception
NiB
do-not-reply at jboss.com
Sat Jan 20 07:23:06 EST 2007
Hi,
I am using jBPM 3.2 Alpha 2 and trying to start the a process from an ejb3 messagedrivenbean by:
| private void kickOffProcess(String processname, String [] attrnames, java.io.Serializable[] attrvalues) {
| org.jbpm.JbpmConfiguration jbpmConfiguration = org.jbpm.JbpmConfiguration.parseXmlString(
| "<jbpm-configuration>" +
|
| // A jbpm-context mechanism separates the jbpm core
| // engine from the services that jbpm uses from
| // the environment.
| "<jbpm-context>"+
| "<service name='persistence' factory='org.jbpm.persistence.db.DbPersistenceServiceFactory' />"+
| "<service name='tx' factory='org.jbpm.tx.TxServiceFactory' />"+
| "<service name='message' factory='org.jbpm.msg.db.DbMessageServiceFactory' />" +
| "<service name='scheduler' factory='org.jbpm.scheduler.db.DbSchedulerServiceFactory' />"+
| "<service name='logging' factory='org.jbpm.logging.db.DbLoggingServiceFactory' />"+
| "<service name='authentication' factory='org.jbpm.security.authentication.DefaultAuthenticationServiceFactory' />"+
| "</jbpm-context>"+
|
| // configuration property used by persistence service impl org.jbpm.persistence.db.DbPersistenceServiceFactory
| "<string name='resource.hibernate.cfg.xml' value='config/hibernate.cfg.xml' />"+
|
| // <!-- configuration resource files pointing to default configuration files in jbpm-{version}.jar -->
| "<string name='resource.business.calendar' value='org/jbpm/calendar/jbpm.business.calendar.properties' />"+
| "<string name='resource.default.modules' value='org/jbpm/graph/def/jbpm.default.modules.properties' />"+
| "<string name='resource.converter' value='org/jbpm/db/hibernate/jbpm.converter.properties' />"+
| "<string name='resource.action.types' value='org/jbpm/graph/action/action.types.xml' />"+
| "<string name='resource.node.types' value='org/jbpm/graph/node/node.types.xml' />"+
| "<string name='resource.parsers' value='org/jbpm/jpdl/par/jbpm.parsers.xml' />"+
| "<string name='resource.varmapping' value='org/jbpm/context/exe/jbpm.varmapping.xml' />"+
| "<string name='resource.mail.templates' value='jbpm.mail.templates.xml' />"+
|
| "<int name='jbpm.byte.block.size' value='1024' singleton='true' />"+
| "<string name='jbpm.mail.smtp.host' value='localhost' />"+
| "<bean name='jbpm.task.instance.factory' class='org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl' singleton='true' />"+
| "<bean name='jbpm.variable.resolver' class='org.jbpm.jpdl.el.impl.JbpmVariableResolver' singleton='true' />"+
| "<bean name='jbpm.mail.address.resolver' class='org.jbpm.identity.mail.IdentityAddressResolver' singleton='true' />"+
|
| "<bean name='jbpm.job.executor' class='org.jbpm.job.executor.JobExecutor'>" +
| "<field name='jbpmConfiguration'><ref bean='jbpmConfiguration' /></field>"+
| "<field name='name'><string value='JbpmJobExector' /></field>"+
| "<field name='nbrOfThreads'><int value='1' /></field>"+
| "<field name='idleInterval'><int value='5000' /></field>"+
| "<field name='maxIdleInterval'><int value='3600000' /></field> <!-- 1 hour -->"+
| "<field name='historyMaxSize'><int value='20' /></field>"+
| "<field name='maxLockTime'><int value='600000' /></field> <!-- 10 minutes -->"+
| "<field name='lockMonitorInterval'><int value='60000' /></field> <!-- 1 minute -->"+
| "<field name='lockBufferTime'><int value='5000' /></field> <!-- 5 seconds -->"+
| "</bean>"+
| "</jbpm-configuration>"
| );
| org.jbpm.JbpmContext jbpmcontext =jbpmConfiguration.createJbpmContext();
|
| try {
|
| org.jbpm.graph.exe.ProcessInstance pi = jbpmcontext.newProcessInstance(processname);
|
| for (int i=0;i<attrnames.length;i++) pi.getContextInstance().setVariable(attrnames,attrvalues);
|
| pi.getRootToken().signal();
|
| jbpmcontext.save(pi);
| } catch (Exception ex) {
| ex.printStackTrace();
| } finally {
| // EXCEPTION HERE
| jbpmcontext.close();
| }
|
|
| }
|
|
I get an exception when I am calling jbpmcontext.close():
| 13:09:33,078 DEBUG [Services] executing default save operations
| 13:09:33,078 DEBUG [HibernateSaveOperation] saving process instance
| 13:09:33,093 DEBUG [SaveLogsOperation] flushing logs to logging service.
| 13:09:33,109 DEBUG [CascadeSaveOperation] cascading save of 'org.jbpm.graph.exe.ProcessInstance at 4d2262'
| 13:09:33,109 DEBUG [JbpmContext] closing JbpmContext
| 13:09:33,109 DEBUG [Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService at f9a36a
| 13:09:33,109 DEBUG [DbPersistenceService] committing hibernate transaction
| 13:09:33,140 ERROR [JDBCTransaction] JDBC commit failed
| java.sql.SQLException: You cannot commit during a managed transaction!
| at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcCommit(BaseWrapperManagedConnection.java:543)
| at org.jboss.resource.adapter.jdbc.WrappedConnection.commit(WrappedConnection.java:334)
| at org.hibernate.transaction.JDBCTransaction.commitAndResetAutoCommit(JDBCTransaction.java:139)
| at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:115)
| at org.jbpm.persistence.db.DbPersistenceService.endTransaction(DbPersistenceService.java:233)
| at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:170)
| at org.jbpm.svc.Services.close(Services.java:222)
| at org.jbpm.JbpmContext.close(JbpmContext.java:139)
| [..]
|
The task nodes in the process appears in the webapp, but when I use
a transition button they won't follow the transition. Can anyone help me?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4004227#4004227
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004227
More information about the jboss-user
mailing list