3 Replies Latest reply on Sep 18, 2011 4:00 AM by odelyaholiday

    JBPM on Glassfish steps to install

    mbehr

      Please, I need to know how configure jbpm5 on glassfish

        • 1. Re: JBPM on Glassfish steps to install
          odelyaholiday

          Hi!

           

          Did you succeed installing the database source?

          • 2. Re: JBPM on Glassfish steps to install
            salaboy21

            So, are you using the jbpm installer? can you copy the created war into glassfish? Are you having troubles with that? can you share with us the errors that you are having in glassfish?

            Cheers

            • 3. Re: JBPM on Glassfish steps to install
              odelyaholiday

              Hi!

               

              So far I worked with Tomcat for my workflow development.

               

              In order to work with data pooling I defined in context xml:

               

              <Resource

                  name="jdbc/flow"

                  auth="Container"

                  type="javax.sql.DataSource"

                  maxActive="40"

                  maxIdle="2"

                  username="myname"

                  maxWait="5000"

                  driverClassName="oracle.jdbc.driver.OracleDriver"

                  password="workflow_cust"

                  url="myurl"/>

               

              and of course resource.properties:

               

              resource.ds1.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource

              resource.ds1.uniqueName=jdbc/flow

              resource.ds1.minPoolSize=0

              resource.ds1.maxPoolSize=5

              resource.ds1.driverProperties.driverClassName=oracle.jdbc.OracleDriver

               

               

              as well as in persistence:

               

              <persistence-unit name="org.drools.persistence.jpa" transaction-type="JTA">

                                  <provider>org.hibernate.ejb.HibernatePersistence</provider>

                                  <jta-data-source>java:comp/env/jdbc/flow</jta-data-source>

                                  <mapping-file>persistenceorm.xml</mapping-file>

                                  <class>org.drools.persistence.info.SessionInfo</class>

                                  <class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>

                                  <class>org.drools.persistence.info.WorkItemInfo</class>

                                  <exclude-unlisted-classes>true</exclude-unlisted-classes>

                                  <properties>

                                            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />

                                            <property name="hibernate.connection.autocommit" value="false" />

                                            <property name="hibernate.max_fetch_depth" value="3" />

                                            <property name="hibernate.show_sql" value="true" />

                                            <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />

                                            <property name="hibernate.transaction.manager_lookup_class"

                                                      value="org.hibernate.transaction.BTMTransactionManagerLookup" />

                                  </properties>

                        </persistence-unit>

               

              Now I just defined in glassfish manager the new database pooling:

               

              datasource classname: oracle.jdbc.pool.OracleConnectionPoolDataSource

              resource type: oracle.jdbc.pool.OracleDataSource

               

              However, when the server starts I get:

               

              Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not get next sequence value

                        at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)

                        at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:226)

                        at org.drools.persistence.jpa.JpaPersistenceContext.persist(JpaPersistenceContext.java:17)

                        at org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:125)

                        ... 72 more

              Caused by: org.hibernate.exception.SQLGrammarException: could not get next sequence value

                        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)

                        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

                        at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:119)

                        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:122)

                        at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)

                        at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:154)

                        at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:110)

                        at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:61)

                        at org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:645)

                        at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:619)

                        at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:623)

                        at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:220)

                        ... 74 more

              Caused by: java.sql.SQLException: ORA-02289: sequence does not exist

               

              This is after:

               

              EntityManagerFactory emf = Persistence.createEntityManagerFactory("org.drools.persistence.jpa");

                                  Environment env = KnowledgeBaseFactory.newEnvironment();

                                  env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);

                                  env.set(EnvironmentName.GLOBALS, new MapGlobalResolver());

                                  env.set(EnvironmentName.TRANSACTION_MANAGER, TransactionManagerServices.getTransactionManager());

                                  ksession = JPAKnowledgeService.newStatefulKnowledgeSession(kbase, null, env);

               

              What do I need to define in glassfish in order to make it work?