J2EE containers are required to make the UserTransaction object available to enterprise beans and web components under the name java:comp/UserTransaction. If the JtaDbPersistenceService runs outside an EJB or web component, the user transaction will be unavailable under that name.
Set the jta.UserTransaction property in your hibernate configuration to the global JNDI name under which the application server provides the UserTransaction object. For JBoss AS the correct value is "UserTransaction".
the usertransaction is eventually bound to the jndi tree.
The problems seems to be is that the 'WorkflowService' is commencing *before* the hibernate service has bound the usertransaction to the jndi tree.
i confirmed this by placing trace inside the workflow service code and the userTransaction is only bound some time after the workflow service has commenced. werid i know.
i have no understanding how the hibernate service starts and it role in the user transaction/jndi binding.
i dont know what differences between jbpm3.2.2-jbpm3.26 would cause such behaviour.