I have recently deployed a large jbpm application. This is actually an extension to a J2ee
application which has been running for two years. Since this deployment my system
exhausted the connection pool every few hours. It looks like JBPM is responsible (or
rather me misusing it....)
Anyhow, I read somewhere that not closing JbpmContext could be the reason for this
problem. However, I'm running most of my jbpm calls from code that does other things
and which uses a UserTransaction (I'm working with ejb 2.0 on jboss4.0.3Sp1). If I try
to close the context it complains I can't commit when autocommit is set!, so basically
I commit my userTransaction and don't close the JbpmContext.
Here are my configuration files:
| <hibernate-configuration>
| <session-factory>
|
|
| <!-- Datasource configuration -->
| <property
name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
| <property
name="hibernate.connection.datasource">java:/OracleDS</property>
| <property name="hibernate.show_sql">false</property>
| <property name="hibernate.format_sql">false</property>
| <!--
| <property
name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
| -->
| <property
name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
| <property
name="hibernate.connection.release_mode">after_statement</property>
| <!--
| <property
name="hibernate.transaction.auto_close_session">true</property>
| -->
| <property
name="hibernate.transaction.flush_before_completion">true</property>
|
| <!-- other hibernate properties
| <property name="hibernate.show_sql">true</property>
| <property name="hibernate.format_sql">true</property>
| -->
|
and jbpmConfig:
| <jbpm-configuration>
|
| <jbpm-context>
| <service name='persistence'
factory='org.jbpm.persistence.db.DbPersistenceServiceFactory'>
| <field name="isTransactionEnabled"><false /></field>
| </service>
| <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 resource files pointing to default configuration files in
jbpm-{version}.jar -->
| <string name='resource.hibernate.cfg.xml'
value='hibernate.cfg.xml' />
| <!-- <string name='resource.hibernate.properties'
value='hibernate.properties' /> -->
| <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' />
|
| <bean name='jbpm.task.instance.factory'
class='com.emi.framework.infrastructure.workflow.TaskInstanceFactory'
singleton='true' />
| <bean name='jbpm.variable.resolver'
class='org.jbpm.jpdl.el.impl.JbpmVariableResolver' singleton='true' />
| <long name='jbpm.msg.wait.timout' value='5000'
singleton='true' />
|
| </jbpm-configuration>
|
can someone shed a light?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4007598#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...