以下介绍jBPM5与Tomcat6, h2 database and Bitronix transaction manager的整合。
1)从http://sourceforge.net/projects/jbpm/files/jBPM 5/jbpm-5.0-Final/下载 bpm-5.0.0-gwt-console.zip
解压得到jbpm-gwt-console-server-5.0.0.war,jbpm-gwt-console-5.0.0.war,重新命名 jbpm-console.war and gwt-console-server.war,copy到tomcat6的webapps目录下。
2)
创建 users 和 roles in TOMCAT_HOME/conf/tomcat-users.xml.
例子如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
</tomcat-users>
3)设置 jbpm.console.directory in Catalina.bat (.sh)
例如:
-Djbpm.console.directory=C:/jbpm5/CR1/jbpm-installer/sample/evaluation/src/main/resources
4)复制JBPM_INSTALLERjboss-4.2.3.GA serverdefaultdatabirt into TOMCAT_HOMEbirt. 提供report功能
5) Copy 数据库驱动 (e.g., h2.jar) and 所有相关的 jar files into TOMCAT_HOME/lib.
如果你使用其他数据库,例如:Oracle, Mysql , 你需要复制相关 jar files (http://community.jboss.org/thread/161643)
依赖的lib文件:
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
geronimo-jms_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
6)启动数据库
例如, run ‘ant h2.start’ from JBPM_INSTALLER directory.
7)启动human task, 例如., run ‘ant start.human.task’ from JBPM_INSTALLER 目录
你也能整合Human task作为一个启动时加载的Servlet,参见 (http://community.jboss.org/thread/161260)
8)使用BTM(Bitronix transaction manager)初始化数据源JNDI(jdbc/testDS1)
(e.g., http://docs.codehaus.org/display/BTM/Tomcat13)
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>
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 GlobalResourcesLifecycle
.........
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycle
....
e.) Modify TOMCAT_HOMEwebappsgwt-console-serverWEB-INFclassesMETA-INFpersistence.xml to include the Bitronix value
....
<property name="hibernate.transaction.manager_lookup_class"
...
Login to console http://localhost:8080/jbpm-console (krisv/krisv)