[
http://jira.jboss.com/jira/browse/JBPM-1307?page=all ]
Alejandro Guizar resolved JBPM-1307.
------------------------------------
Resolution: Done
Request for reporters and watchers of this issue: because of the variety of scenarios
(e.g. Seam, Spring, Portal) where this issue has been detected, I am unable to determine
whether the solution described in JBPM-1130 actually applies to all environments. Please
build the product from source and let me know if this solution works and performs well in
your environment. See
http://jbpm.dyndns.org/jbpmwiki/index.php?title=JBPM3BuildingFromSource for instructions
on building from source.
jBPM tries to use Hibernate transaction even if configured with
isTransactionEnabled = false
--------------------------------------------------------------------------------------------
Key: JBPM-1307
URL:
http://jira.jboss.com/jira/browse/JBPM-1307
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Core Engine
Affects Versions: jPDL 3.2.2
Reporter: Mauro Molinari
The method
org.jbpm.scheduler.db.DbSchedulerService.deleteTimersByProcessInstance(ProcessInstance) is
accessing the Hibernate transaction even if jBPM is configured not to use transactions:
<service name="persistence">
<factory>
<bean
class="org.jbpm.persistence.db.DbPersistenceServiceFactory">
<field name="isTransactionEnabled">
<false />
</field>
<field name="isCurrentSessionEnabled">
<true />
</field>
</bean>
</factory>
</service>
This causes a serious problem when you're using jBPM inside a JTA environment and you
want to control JTA transactions by yourself. For instance, we're using Spring to
manage transactions a JBoss Transactions as the JTA implementation. We are not using JNDI
in any way, but when we try to call processInstance.end(), a call to
org.jbpm.scheduler.db.DbSchedulerService.deleteTimersByProcessInstance(ProcessInstance) is
performed and Hibernate tries to create a new JTATransaction by querying an empty JNDI
InitialContext.
The only workaround we could find is the one outlined here:
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4117325#...
that is, subclassing JobSession in order to use Spring TransactionSynchronizationManager.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira