Skip navigation
2011

bpmn2 user's Blog

January 2011 Previous month Next month

Here are the required steps to get the jBPM5 console running in Tomcat6, h2 database and Bitronix transaction manager.

 

 

1.)    Copy the console war files provided in JBPM_INSTALLER/lib into Tomcat’s webapps directory

These war files can also be downloaded from   (http://sourceforge.net/projects/jbpm/files/jBPM%205/jbpm-5.0-Final/). This download has two war files jbpm-gwt-console-5.0.0.war and jbpm-gwt-console-server-5.0.0.war. Rename them to jbpm-console.war and gwt-console-server.war and copy them to TOMCAT_HOME/webapps

 

2.)    Create users and roles in TOMCAT_HOME/conf/tomcat-users.xml.

Here is an example

<?xml version='1.0' encoding='utf-8'?>

<tomcat-users>

  <role rolename="tomcat"/>

  <role rolename="role1"/>

  <role rolename="manager"/>

  <role rolename="admin"/>

  <role rolename="user"/>

  <user username="tomcat" password="tomcat" roles="tomcat"/>

  <user username="both" password="tomcat" roles="tomcat,role1"/>

  <user username="role1" password="tomcat" roles="role1"/>

  <user username="manager" password="manager" roles="manager"/>

  <user username="krisv" password="krisv" roles="manager,admin,user"/>

  <user username="john" password="john" roles="manager,admin,user"/>

  <user username="mary" password="mary" roles="manager,admin,user"/>

</tomcat-users>

 

 

3.)    Set the jbpm.console.directory in Catalina.bat (.sh)

Here is an example.

.. -Djbpm.console.directory=C:/jbpm5/CR1/jbpm-installer/sample/evaluation/src/main/resources ..

 

4.) Copy JBPM_INSTALLER\jboss-4.2.3.GA server\default\data\birt into TOMCAT_HOME\birt.  This will provide the reporting functionality

 

5.)    Copy the database driver (e.g., h2.jar) and all the dependant jar files into TOMCAT_HOME/lib.

 

If you use other databases such as Oracle, Mysql etc, you need to copy the corresponding jar files (http://community.jboss.org/thread/161643)

Here are the required libraries:

 

jbpm-persistence-jpa-5.0-CR1.jar

h2-1.2.124.jar

persistence-api-1.0.jar

geronimo-jta_1.0.1B_spec-1.0.1.jar

javassist-3.4.GA.jar

hibernate-entitymanager-3.4.0.GA.jar

hibernate-core-3.3.0.SP1.jar

hibernate-commons-annotations-3.1.0.GA.jar

hibernate-annotations-3.4.0.GA.jar

ejb3-persistence-1.0.2.GA.jar

dom4j-1.6.1.jar

commons-collections-3.1.jar

antlr-2.7.6.jar

btm-tomcat55-lifecycle-1.3.3.jar

slf4j-api-1.5.2.jar

slf4j-jdk14-1.5.2.jar

btm-1.3.1.jar

geronimo-jta_1.0.1B_spec-1.0.1.jar

 

6.)    Start database:

e.g, run ‘ant h2.start’ from JBPM_INSTALLER directory.

 

7.)    Start human task, e.g., run ‘ant start.human.task’ from JBPM_INSTALLER directory

You can also integrate the human task service as a startup servlet (http://community.jboss.org/thread/161260)

 

     8.) Configure a datasource JNDI (jdbc/testDS1) using Bitronix transaction manager.

 

You can also refer to Bitronix (e.g., http://docs.codehaus.org/display/BTM/Tomcat13)  and Tomcat JNDI (http://tomcat.apache.org/tomcat-6.0-doc/jndi-resources-howto.html) configuration documentation.

 

     a.) Create the following btm-config.properties in TOMCAT_HOME/conf

 

bitronix.tm.serverId=tomcat-btm-node0

bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog

bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog

bitronix.tm.resource.configuration=${btm.root}/conf/resources.properties

 

    b.) Add transaction and Resource information after 'WatchedResource' line in TOMCAT_HOME/conf/context.xml as shown below.

 

.........

..........

<WatchedResource>WEB-INF/web.xml</WatchedResource>

    <Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory" />

 

    <Resource name="jdbc/testDS1" auth="Container" type="javax.sql.DataSource"

               maxActive="15" maxIdle="2" maxWait="10000"

logAbandoned="true"

               username="sa" password=""

driverClassName="org.h2.jdbcx.JdbcDataSource"

               url="jdbc:h2:tcp://localhost/~/test"/>

..........

.........

 

c.) Create 'resource.properties' in TOMCAT_HOME/conf as shown below.

 

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

resource.ds1.uniqueName=jdbc/testDS1

resource.ds1.minPoolSize=0

resource.ds1.maxPoolSize=5

resource.ds1.driverProperties.driverClassName=org.h2.jdbcx.JdbcDataSource

 

d.) Modify TOMCAT_HOME/conf/server.xml to include BTMLifecycleListener after the line that has GlobalResourcesLifecycleListener as shown below.

 

.........

<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />

....

 

e.) Modify TOMCAT_HOME\webapps\gwt-console-server\WEB-INF\classes\META-INF\persistence.xml to include the Bitronix value  for hibernate.transaction.manager_lookup_class as shown below.

 

.

....

<property name="hibernate.transaction.manager_lookup_class"  value="org.hibernate.transaction.BTMTransactionManagerLookup" />

...

 

 

Login to console http://localhost:8080/jbpm-console (krisv/krisv)