JBoss Community

Re: JBPM on Glassfish steps to install

created by Odelya Holiday in jBPM - View the full discussion

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?

Reply to this message by going to Community

Start a new discussion in jBPM at Community