2 Replies Latest reply on Feb 21, 2007 8:16 AM by Jeff DeLong

    cannot deploy processdefinition from GPD via jbpm-enterprise

    Jeff DeLong Master

      I have reported this before:

      21:11:35,953 ERROR [[ProcessUploadServlet]] Servlet.service() for servlet Proces
      sUploadServlet threw exception
      org.hibernate.HibernateException: Unable to locate current JTA transaction
      at org.hibernate.context.JTASessionContext.currentSession(JTASessionCont

      it requires changes to jbpm.cfg.xml

      to set to false and CMTTransactionFactory to JTATransactionFactory


        • 1. Re: cannot deploy processdefinition from GPD via jbpm-enterp
          Tom Baeyens Master

          added it to the list of bug reports to verify


          but I think that the property you mention got mixed up in the markup. can you check that ?

          • 2. Re: cannot deploy processdefinition from GPD via jbpm-enterp
            Jeff DeLong Master

            Opps, got left out somehow. What I meant was that:

             <field name="isCurrentSessionEnabled"><true /></field>

            needed to be set to false.

            With CMTransactionFactory, Hibernate expects a transaction to already be started. When uploading via the console, this does not appear to be the case. So JTATransactionFactory is required, which means Hibernate will start the transaction if one does not already exist.

            isCurrentSessionEnabled (getCurrentSession() )does not appear to get a current session if a transaction is not already in progress, even with JTATransactionFactory set. This may be a defect in Hibernate? My recommendation in this situation is to inject the session into the jbpmContext via jbpmContext.setSession(session). Granted this is more work for the developer, so getting getCurrentSession to work would be preferable.

            This is simple to test. Just deploy jbpm-enterprise.ear to JBoss (I tested with 4.0.5), start it, and attempt to deploy a processdefinition from the GPD.