JBPM4.0 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

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

 

 

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

 

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

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

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

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

5 、将 jbpm-console-integration.jarjbpm-console-form-plugin.jarfreemarker.jarlivetribe-jsr223.jarjuel*.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 扩张 antClass org.jbpm.pvm.internal.ant.JbpmDeployTask 来完成的。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值