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

    cannot deploy processdefinition from GPD via jbpm-enterprise

    jeffdelong

      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

      org.hibernate.transaction.JTATransactionFactory

        • 1. Re: cannot deploy processdefinition from GPD via jbpm-enterp
          tom.baeyens

          added it to the list of bug reports to verify

          http://jira.jboss.com/jira/browse/JBPM-835

          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
            jeffdelong

            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.