Terry.Li-彬

虚其心,可解天下之问;专其心,可治天下之学;静其心,可悟天下之理;恒其心,可成天下之业。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  143 随笔 :: 344 文章 :: 130 评论 :: 0 Trackbacks
 

jBPM3.1 +Oracle10g+Tomcat-5.0.30安装实践

环境:
jdk1.5.0_05
jakarta-tomcat-5.5.9
apache-ant-1.6.5(1.6.0
会报错)
mysql-5.0.16-win32
jbpm-3.0.2


一、JBPM_HOME即为解开的jbpm-3.0.2.zip文件
%JBPM_HOME%"lib
下,建mysql目录,将mysqljdbc驱动拷入;
mysql中建数据库   CREATE DATABASE jbpm;


二、为ant创建jbpm相关数据库修改相关配置文件
1
%JBPM_HOME%"src"resources目录下,将“hsqldb”目录改名为“mysql”,并修改create.db.hibernate.properties文件,形如:
# these properties are used by the build script to create
# a hypersonic database in the build/db directory that contains
# the jbpm tables and a process deployed in there

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/jbpm
hibernate.connection.username=root
hibernate.connection.password=
hibernate.c3p0.min_size=1
hibernate.c3p0.max_size=3
hibernate.show_sql=true

2
、修改%JBPM_HOME%"build.deploy.xml文件中“target”“create.db” 的內容,删除“db.start”“db.stop”,将所有的“hsqldb”替换为“mysql”
形如:
  <target name="create.db" depends="declare.jbpm.tasks, db.clean" description="creates a hypersonic database with the jbpm tables and loads the processes in

there">
    <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>
    <!--antcall target="db.stop" /-->
  </target>


三、为ant创建jbpm.war包修改相关配置文件
1
、修改%JBPM_HOME%"src"config.files"hibernate.cfg.xml文件中数据库连接配置部分,形如:
    ……
    <!-- jdbc connection properties -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">rootrootrootroot</property>
         
    <!-- c3p0 connection pooling properties -->
    <property name="hibernate.c3p0.min_size">1</property>
    <property name="hibernate.c3p0.max_size">3</property>

    <!-- other hibernate properties -->
    <property name="hibernate.show_sql">true</property>
    ……

2
、修改%JBPM_HOME%"src"resources"jbpm.sar"jbpm.properties,形如:
jbpm.scheduler.service.factory=org.jbpm.scheduler.impl.SchedulerServiceImpl
jbpm.task.instance.class=org.jbpm.taskmgmt.exe.TaskInstance

# uncomment the next line if JbpmSessionFactory.getInstance()
# should lookup the singleton instance from JNDI instead of creating
# a default one.
#
# jbpm.session.factory.jndi.name=java:/jbpm/JbpmSessionFactory

# uncomment the next line to use the file system instead of the database for
# storing files related to a process definition
#
# jbpm.files.dir=c:/jbpm.data

# resource path to a properties file that will overwrite all the hibernate
# properties. For database specific builds in db project there is a different
# hibernate.properties file on the classpath for each database. You could change
# the default database for any testing runs by uncommenting the next line and
# adding a hibernate.properties file in the basedir.
#
jbpm.hibernate.cfg.xml=jbpm.hibernate.cfg.xml
# jbpm.hibernate.properties=jbpm.hibernate.properties

3
、修改%JBPM_HOME%"src"resources"jbpm.sar"jbpm.hibernate.properties,只用hibernate.cfg.xml来配置hibernate,因此全部注释掉,形如:
# hibernate.dialect=org.hibernate.dialect.HSQLDialect
# hibernate.connection.datasource=java:/DefaultDS
# hibernate.show_sql=true

4
、修改%JBPM_HOME%"build.deploy.xml文件,“target”“build.webapp”的內容,原文件相关的jar包未包含全,因此补全,形如:
  <target name="build.webapp" description="builds jbpm.war">
    <ant antfile="build.xml" target="build" /><!--
原文件是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,converter.jar" excludes="*src*.jar" />
        <fileset dir="lib/jsf" includes="*.jar" />
        <fileset dir="lib/dom4j" includes="*.jar" />
        <!--fileset dir="lib/jaxen" includes="*.jar" / included in lib/hibernate -->
        <fileset dir="lib/hibernate" includes="*.jar" />
        <fileset dir="lib/mysql" includes="*.jar" />
        <fileset dir="lib/commons" includes="commons-digester-*.jar,   commons-beanutils-*.jar" />
        <fileset dir="lib/jboss" includes="*.jar"   excludes="jboss*.jar,*servlet*.jar,*hsql*.jar,dom4j*.jar" />
    </copy>
    <jar destfile="build/jbpm.war">
        <fileset dir="build/jbpm.war.dir" />
    </jar>
  </target>


四、执行Ant
1
、创建并初始化jbpm例子所需的table
ant create.db -buildfile build.deploy.xml
2
、生成jbpm.war
ant build.webapp -buildfile build.deploy.xml


五、tomcat拥抱jbpm
%JBPM_HOME%"build"jbpm.war文件复制到Tomcatwebapp目录下,启动Tomcat自动部署jbpm,访问http://localhost:8080/jbpm,出现登录页面,配置成功。

posted on 2007-09-06 18:09 礼物 阅读(782) 评论(0)  编辑  收藏 所属分类: Jbpm