安装,发布JBPM3.war包 Tomcat v5.5 + MySQL v4.0.24 + jBPM v3.0.2
本篇文章转自:http://www.javaworld.com.tw/jute/index.html.
注意版本:本人在Tomcatv5上调试,没通过.请一定使用Tomcat5.5 ,JDK1.5.
使用軟體
Tomcat v5.5
MySQL v4.0.24
jBPM v3.0.2
2. 將 database 改成使用 MySQL
2-1. 解壓縮 jbpm-3.0.2.zip , 在 jbpm-3.0.2/lib 下 , 建立目錄 mysql
2-2. copy mssql 的 jdbc driver 至 jbpm-3.0.2/lib/mysql 中
2-3. 在 MySQL 上新增一個 database 名稱為 jbpm
2-4. 在 jbpm-3.0.2/src/resources 下 , 建立目錄 mysql , 並複製 hsqldb 中的檔案
2-5. 修改 jbpm-3.0.2/src/resources/mysql/create.db.hibernate.properties 檔 , 如下 :
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/jbpm?useUnicode=true&characterEncoding=utf-8
hibernate.connection.username=sa
hibernate.connection.password=sa
hibernate.c3p0.min_size=1
hibernate.c3p0.max_size=3
hibernate.show_sql=true
2-6. 修改 jbpm-3.0.2/build.deploy.xml 檔 , target 為 create.db 的內容 , 如下 :
<target name="create.db" depends="declare.jbpm.tasks" description="Create a MySQL Database with the jbpm tables">
<jbpmschema actions="create" properties="${basedir}/src/resources/mysql/create.db.hibernate.properties"/>
<loadidentities file="${basedir}/src/resources/mysql/identity.db.xml" properties="${basedir}/src/resources/mysql/create.db.hibernate.properties"/>
<ant antfile="build.xml" target="build.processes" inheritall="false" />
<deploypar properties="${basedir}/src/resources/mysql/create.db.hibernate.properties">
<fileset dir="build" includes="*.par" />
</deploypar>
</target>
2-7. 執行 Ant Build Target 'create.db' , 產生 table schema 至 MySQL
ant create.db -buildfile build.deploy.xml
3. 建立 jbpm.war 並部署至 Tomcat 中
3-1. 因為 Hibernate 不能將它的SessionFactory 與 Tomcat 的 JNDI bind , 所以必須修改 jbpm-3.0.2/src/java.jbpm/org/jbpm/db/JbpmSessionFactory.java 中的 getInstance()
public static JbpmSessionFactory getInstance() {
if (instance==null) {
log.debug("building singleton JbpmSessionFactory");
instance = buildJbpmSessionFactory();
}
return instance;
}可以到:www.guteng.com/web-cn/service/jbpm.war下载已编译完成的war包.
3-2. 修改 jbpm-3.0.2/src/resources/jbpm.sar/jbpm.hibernate.properties 檔(同2-5) , 如下 :
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/jbpm?useUnicode=true&characterEncoding=utf-8
hibernate.connection.username=sa
hibernate.connection.password=sa
hibernate.c3p0.min_size=1
hibernate.c3p0.max_size=3
hibernate.show_sql=true
3-3. 修改 jbpm-3.0.2/src/resources/jbpm.sar/jbpm.properties 檔
將 jbpm.session.factory.jndi.name=java:/jbpm/JbpmSessionFactory 標記起來 , 如下 :
# jbpm.session.factory.jndi.name=java:/jbpm/JbpmSessionFactory
3-4. 執行 Ant Build Target 'build' , 重新 compiler & package
ant build -buildfile build.xml
3-5. 修改 jbpm-3.0.2/build.deploy.xml 檔 , target 為 build.webapp 的內容 , 有一些相關的 library 必需要一起 package 起來 , 如下 :
<target name="build.webapp" description="builds jbpm.war">
<ant antfile="build.xml" target="build.webapp" />
<mkdir dir="build/jbpm.war.dir" />
<copy todir="build/jbpm.war.dir">
<fileset dir="src/resources/jbpm.war" />
</copy>
<copy todir="build/jbpm.war.dir/WEB-INF/lib">
<fileset dir="build" includes="jbpm*.jar" />
<fileset dir="lib/dom4j" includes="*.jar" />
<fileset dir="lib/jsf" includes="*.jar" />
<fileset dir="lib/jaxen" includes="*.jar" />
<fileset dir="lib/commons" includes="commons-digester-*.jar, commons-beanutils-*.jar" />
<fileset dir="lib/mysql" includes="*.jar" />
<fileset dir="lib/hibernate" includes="*.jar" />
<fileset dir="lib/jboss" includes="antlr*.jar, asm*.jar, bsh*.jar, cglib*.jar, commons-*.jar, hibernate*.jar" />
</copy>
<jar destfile="build/jbpm.war">
<fileset dir="build/jbpm.war.dir" />
</jar>
</target>
3-6. 執行 Ant Build Target 'build.webapp' , 產生 jbpm.war
ant build.webapp -buildfile build.deploy.xml
3-7. 部署 jbpm.war 至你的 Tomcat 的 webapp 目錄下 , 並重新啟動 Tomcat .
3-8. 測試 http://localhost:8080/jbpm
king补充:可完成所有编辑工作后,统一编译。