`

JBPM ANT脚本详解

阅读更多

JBPM  ANT 脚本详解

 

 <target name="demo.setup" depends="install.jboss, install.jbpm.into.jboss, start.jboss"

          description="installs jboss, installs jbpm into jboss, starts jboss, creates the jBPM DB schema, deploys examples, loads example identities, installs and starts eclipse">

    <ant antfile="${jbpm.home}/db/build.xml" target="create.jbpm.schema" />

    <ant antfile="${jbpm.home}/examples/build.xml" target="deploy.examples" />

    <ant antfile="${jbpm.home}/db/build.xml" target="load.example.identities" />

    <ant antfile="${jbpm.home}/gpd/build.xml" target="install.eclipse" />

    <ant antfile="${jbpm.home}/gpd/build.xml" target="start.eclipse" />

  </target>

 

这是 demo.setup 的脚本。很明显的看出, demo.setup 都做了些什么。

1、 安装 jboss

2、 jbpm 发布到 jboss

3、 启动 jboss

4、 执行 jbpm 建表脚本

5、 examples 发布到 jboss

6、 创建数据库初始化数据

7、 安装 eclipse

8、 启动 eclipse

现在我们分步看一下,都是如何执行这些步骤的
 
一、         安装 Jboss

 

  <target name="install.jboss" depends="log.properties, get.jboss"

            description="unzips jboss, downloads jboss to $jboss.distro.dir} if its not available">

    <unzip src="${jboss.distro.path}" dest="${jboss.home}/.." />

    <chmod perm="a+x" file="${jboss.home}/bin/run.sh" os="Linux, Mac OS X" />

    <chmod perm="a+x" file="${jboss.home}/bin/shutdown.sh" os="Linux, Mac OS X" />

  </target>

 

1 )他首先要获取 JBOSS, 依赖于这个任务 get.jboss

 

  <condition property="is.jboss.distro.available">

    <available file="${jboss.distro.path}" />

  </condition>

  <target name="get.jboss"

            unless="is.jboss.distro.available"

            description="downloads jboss into ${jboss.distro.dir}">

      <mkdir dir="${jboss.distro.dir}" />

    <get src="${jboss.distro.url}" dest="${jboss.distro.path}" />

  </target>

这个意思是如果已经存在了 JBOSS ,这个任务就算完成了。如果不存在,他会从网站上下载一个。

2 )任务 get.jboss 完成,会将 JBOSS 文件解压,安装 JBOSS 算是完成了。
 
二、       jbpm 发布到 jboss

       

  <target name="install.jbpm.into.jboss"  depends="log.properties" description="installs jbpm into jboss">

    <antcall target="internal.install.jbpm.into.jboss.common" />

    <antcall target="internal.install.jbpm.into.jboss.500specifics" />

    <antcall target="internal.install.jbpm.into.jboss.db.${database}" />

  </target>

这个脚本执行了三个任务

1)internal.install.jbpm.into.jboss.common 将一些 common 文件安装到 JBOSS

我们详细看一下,都安装了那些文件
 

<target name="internal.install.jbpm.into.jboss.common">

    <!-- copy static configuration files -->

    <copy todir="${jboss.server.config.dir}" overwrite="true">

       <fileset dir="${jbpm.home}/jboss/config.common" />

    </copy>

 

    <!-- copy the right hibernate configuration file -->

    <copy file="${jbpm.home}/jboss/hibernate.cfg/${database}.hibernate.cfg.xml"

          tofile="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar/jbpm.hibernate.cfg.xml"

          overwrite="true" />

 

    <!-- copy the right datasource configuration file and replace the jdbc properties with

         the values in the jdbc/${database}.properties file -->

    <copy todir="${jboss.server.config.dir}/deploy/jbpm" overwrite="true">

      <filterset filtersfile="${jbpm.home}/db/jdbc/${database}.properties" />

      <fileset dir="${jbpm.home}/jboss/datasources">

        <include name="jbpm-${database}-ds.xml"/>

      </fileset>

    </copy>

 

    <copy todir="${jboss.server.config.dir}/lib" overwrite="true">

      <fileset dir="${jbpm.home}">

        <include name="jbpm.jar" />

      </fileset>

      <fileset dir="${jbpm.home}/lib">

        <include name="gwt-console-server-integration.jar" />

        <include name="gwt-console-rpc.jar" />

      </fileset>

    </copy>

 

    <copy todir="${jboss.server.config.dir}/deploy/jbpm" overwrite="true">

      <fileset dir="${jbpm.home}/lib">

        <include name="gwt-console.war" />

        <include name="gwt-console-server.war" />

      </fileset>

    </copy>

   

    <copy todir="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar" overwrite="true">

      <fileset dir="${jbpm.home}/lib">

        <include name="jbpm-console-integration.jar" />

        <include name="jbpm-console-form-plugin.jar" />

        <include name="freemarker.jar" />

        <include name="livetribe-jsr223.jar" />

        <include name="juel*.jar" />

      </fileset>

    </copy>

 

    <copy todir="${jboss.server.config.dir}/deployers/jbpm.deployer" overwrite="true">

      <fileset dir="${jbpm.home}/lib">

        <include name="jbpm-spi.jar"/>

      </fileset>

    </copy>

 

    <mkdir dir="${jboss.home}/docs/examples/jbpm" />

    <copy todir="${jboss.home}/docs/examples/jbpm" overwrite="true">

      <fileset dir="${jbpm.home}/jboss/datasources" />

    </copy>

  </target>

 

 

1 、首先将 jboss/config.common 里面所有的内容拷贝 JBOSS 服务器中的 server\default 目录下。

 

2 、接着将对应数据库的 hibernate 配置文件更名后放置到 Jbpm 的工程跟目录下

使用 jdbc properties 文件的内容,配置数据的的 ds.xml 文件 ,并放置到 JBOSS JBPM 工程的根目录下。

3 、将 JBPM.jar gwt-console-server-integration.jar gwt-console-rpc.jar 放置到 server\default\lib 目录下

4 、将两个 war gwt-console.war gwt-console-server.war 放置到 jbpm 的根目录下

5 、将 jbpm-console-integration.jar jbpm-console-form-plugin.jar freemarker.jar livetribe-jsr223.jar juel*.jar 放置到 default\deploy\jbpm\jbpm-service.sar 目录下

6 、将 jbpm-spi.jar 放置到 \server\default\deployers\jbpm.deployer

7 、将相关文档放置到文档目录

 

2)internal.install.jbpm.into.jboss.500specifics 安装 JBOSS5 的特殊配置

 

  <target name="internal.install.jbpm.into.jboss.500specifics" if="jboss.version.5">

    <!-- copy static configuration files -->

    <copy todir="${jboss.server.config.dir}" overwrite="true">

       <fileset dir="${jbpm.home}/jboss/config.jboss5" />

    </copy>

 

    <copy todir="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar" overwrite="true">

      <fileset dir="${jbpm.home}/lib">

        <include name="jbpm-spi.jar"/>

      </fileset>

    </copy>

 

    <copy todir="${jboss.server.config.dir}/deployers/jbpm.deployer" overwrite="true">

      <fileset dir="${jbpm.home}/lib">

        <include name="jbpm-jboss5.jar"/>

      </fileset>

    </copy>

  </target>

1 、将 jboss5 的配置文件拷贝到 Jboss 服务起的相关目录中

2 、将 jbpm-spi.jar 拷贝到 deploy/jbpm/jbpm-service.sar 目录中

3 、将 jbpm-jboss5.jar 拷贝到 deployers/jbpm.deployer 目录中

 

3)internal.install.jbpm.into.jboss.db.${database} 就是将对应的 JDBC 驱动拷贝到对应目录中

至此为止, JBPM 算是发布完成了
 
三、 启动 Jboss ,启动后一直让他在后台运行

 

<target name="start.jboss"

            depends="log.properties"

            description="starts jboss and waits till jboss is booted, then lets jboss run in the background">

    <taskdef name="start-jboss"

             classname="org.jbpm.pvm.internal.ant.StartJBossTask">

      <classpath>

        <fileset dir="${jbpm.home}">

          <include name="jbpm.jar" />

        </fileset>

      </classpath>

    </taskdef>

    <start-jboss jbosshome="${jboss.home}" />

  </target>

执行 jbpm 建表脚本

它首先调用一个 ant 脚本 db\build.xml . 执行 create.jbpm.schema 任务。

他仅仅是通过 JBDC 使用配置文件 db/jdbc/${database}.properties 配置的信息执行 db/schema.scripts/jbpm.${database}.create.sql 文件而已

四、         examples 发布到 jboss

同样也是通过调用 ant 脚本 examples/build.xml 。执行 deploy.examples 完成此功能。只是将所有 java 文件编译一下,用 jar 打成一个 bar 文件(为什么是 bar 文件?)发布任务是用 jbpm 扩张 ant Class org.jbpm.pvm.internal.ant.JbpmDeployTask 来完成的。

五、 这一步和第四步是一样的,不过 sql 文件换成 db/example.identities.sql 。功能是向数据库中增加初始化数据。

六、 剩下的两步就不讲了,只是安装 eclipse 而已,目前还没有发现什么用处,也没有给 eclipse jbpm 的插件,不知道这个是用来干什么。应该可以改进一下,变成安装 eclipse 并安装 jbpm 插件

分享到:
评论

相关推荐

    JBPM工作流详解

    2. **Apache Ant**:版本 1.7.0 或更高版本,用于执行构建脚本。 #### 五、Jbpm 4.4 资源下载 1. **Jbpm 下载地址**:[http://sourceforge.net/projects/jbpm/files/]...

    jbpm工作流程的说明文档

    1. 选择并配置支持Hibernate的数据库,可使用ant脚本来生成数据库表结构。 2. 使用jPdl定义工作流程,生成processdefinition.xml文件。虽然可以借助gpdl图形工具,但需注意其兼容性和bug。 3. 创建pde工作目录,使用...

    jbpm5安装DEMO

    完成安装后,运行`ant start.demo`脚本,将启动H2数据库、JBoss应用服务器、Eclipse IDE以及jBPM的人工任务服务,从而可以开始测试和使用jBPM5的功能。 #### 五、注意事项 - **自定义版本**:若想使用特定版本的...

    jbpm实战讲解.pdf

    运行`ant demo.setup.jboss`脚本进行JBPM的初始化设置。 - **自动完成的操作**: 1. 安装JBoss到`$jbpm.home/jboss-5.1.0.GA`目录。 2. 集成JBPM到JBoss中。 3. 安装并启动HSQLDB数据库。 4. 创建所需的数据库...

    jbpm配置心得体会(结合各种数据库)

    ### jBPM配置心得与多种数据库环境搭建详解 #### 一、环境介绍及软件准备 在本篇文章中,我们将深入探讨如何在特定环境下配置JBPM工作流引擎,并使其与多种数据库(MySQL、Oracle等)兼容。为了更好地理解配置过程...

    jbpm4.4的安装myeclipse配置还有helloworld实例

    ### jBPM 4.4 开发环境搭建与 HelloWorld 实例详解 #### 一、jBPM 4.4 开发环境搭建 ##### 1.1 准备所需工具 为了构建一个完整的 jBPM 4.4 开发环境,我们需要准备以下工具: - **jBPM 4.4**: `jbpm-4.4.zip` - **...

    自己写的jbpm学习资料

    ### jBPM学习资料知识点详解 #### 一、jBPM概述 jBPM,即Java Business Process Management,是一款基于J2EE的轻量级工作流管理系统,专为简化业务流程设计与执行而生。该项目自2004年加入JBoss家族以来,成为其...

    JBPM5.3开发指南

    ### JBPM5.3开发指南知识点详解 #### 一、概述 JBPM是Java Business Process Management的缩写,是一款开源的工作流引擎。本教程旨在帮助开发者快速掌握JBPM5.3的基本使用方法,包括下载安装、环境搭建以及通过具体...

    工作流开发jbpm工作流开发jbpm

    ### jBPM工作流开发详解 #### 一、引言 随着企业业务流程日益复杂,工作流管理系统(Workflow Management System, WfMS)逐渐成为提高工作效率、实现业务自动化的重要手段。jBPM作为一款功能强大的开源工作流引擎...

    Spring Jbpm流程整合1

    开发者需要安装JDK 1.5及以上版本,以及Ant 1.7以上版本(如果需要执行Ant脚本)。开发环境通常基于Eclipse,可以下载Eclipse的JEE版本。接着,安装JBPM的流程设计器插件,这是一款Eclipse的插件,位于JBPM的gpd目录...

    jbpm原理微型源码

    **jbpm原理微型源码详解** jbpm,全称Java Business Process Management,是一个开源的工作流管理系统,用于管理和执行业务流程。它提供了强大的流程定义、执行和监控能力,使得开发者能够轻松地实现业务流程自动化...

    掌握的jBPM的入门教程.doc

    ### jBPM入门教程知识点详解 #### 一、jBPM简介与理解 - **jBPM**(**j**ava **B**usiness **P**rocess **M**odeling)是一个开源的工作流引擎,用于自动化业务流程。它不仅提供了一个灵活的流程执行引擎,还支持...

    jbmp开发入门指南

    2. **部署与运行**:通过Ant脚本将流程定义打包并部署到jbpm服务器。 3. **监控与调试**:jbpm提供了监控工具,可以查看流程实例的状态、跟踪变量变化等。 **八、jbpm集成** jbpm可以与其他Java EE技术如JMS、JPA、...

    jbmp开发指南(OO)

    - **目的**:Ant是jBPM的重要工具,用于构建和部署应用。 - **步骤**:下载Ant压缩包;解压并设置ANT_HOME环境变量;更新PATH环境变量。 3. **安装Eclipse** - **目的**:提供集成开发环境,支持jBPM开发插件。 ...

    JBPMSamples.zip

    5. `build.xml`:这通常是一个Ant构建脚本,用于自动化项目的构建过程,包括编译源代码、打包、测试等步骤。在JBPM项目中,它可能会包含针对jbpm特定任务的定制化构建规则。 6. `target`:这是一个目录,包含了构建...

    Activiti工作流

    ### Activiti工作流详解 #### 一、简介 **Activiti**是一款开源的工作流引擎,用于简化业务流程的实现和管理。它支持基于BPMN 2.0标准的流程定义,并提供了强大的API来集成到各种Java应用程序中。Activiti不仅能够...

Global site tag (gtag.js) - Google Analytics