`
hongsoft
  • 浏览: 299914 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用jbpm_bpel学jwsdp的ant方式使用

阅读更多

用过jwsdp的同学都知道,它专门有个jwsdp-2_0-ant-docs文挡 ,可见ant与jwsdp结合的重要性。

在用jbpm-bpel的时候,当然也是最好用ant方式的jwsdp的,下面就是某个example的具体过程:

 

我们看jbpm-bpel-1.1.Beta3的examples/account/build.xml
<?xml version="1.0"?>
<project name="account" default="redeploy"> 
  <import file="../common/ws-build.xml"/>
</project>

转到common下的ws-build.xml的redeploy:
<target name="redeploy"
          depends="generate-artifacts, deploy"
          description="regenerate artifacts and deploy application" />
1.generate-artifacts  
2.deploy

1的内容如下:
<target name="generate-artifacts"
          depends="detect-wsgenerator"
          description="generate java mapping artifacts">
    <mkdir dir="${output.java.dir}" />
    <antcall target="setup-wstools" />
    <antcall target="setup-wscompile" />
</target>
1.1 detect-wsgenerator
1.2 setup-wstools
1.3 setup-wscompile

 

1.1的内容如下:
 <target name="detect-wsgenerator">
    <available property="wstools.available"
               classname="org.jboss.ws.tools.ant.wstools"
               classpathref="jboss.path" />
    <condition property="wsgenerator.available">
      <or>
        <isset property="wstools.available" />
        <isset property="jwsdp.home" />
      </or>
    </condition>
    <fail message="no artifacts generator available"
          unless="wsgenerator.available" />
  </target>
这段首先是找  org.jboss.ws.tools.ant.wstools这个资源是否存在;如果存在,则wstools.available
赋值为true。
然后判断 wstools.available已经有值或者jwsdp.home已经有值,如果是,则 wsgenerator.available为true。
最后,判断 如果wsgenerator.available为false,就要抛出fail message :"no artifacts generator available"。

1.2的内容如下:
<target name="setup-wstools" if="wstools.available" unless="jwsdp.home">
    <taskdef name="wstools"
             classname="org.jboss.ws.tools.ant.wstools"
             classpathref="wstools.path" />
    <antcall target="call-wstools" />
  </target>
首先就是定义名称为wstools的任务,对应的类是 org.jboss.ws.tools.ant.wstools;
然后调用call-wstools任务。

call-wstools任务如下:
<target name="call-wstools">
    <wstools dest="${output.java.dir}" config="${resources.dir}/wstools.xml" />
    <move file="${output.java.dir}/jaxrpc-mapping.xml"
          todir="${output.web.dir}" />
  </target>

1.2.1 wstools,传了两个参数进去
1.2.2 move操作。


1.3 setup-wscompile的内容如下:
<target name="setup-wscompile" if="jwsdp.home">
    <taskdef name="wscompile"
             classname="com.sun.xml.rpc.tools.ant.Wscompile"
             classpathref="wscompile.path" />
    <mkdir dir="${output.classes.dir}" />
    <mkdir dir="${output.web.dir}" />
    <antcall target="call-wscompile" />
    <delete>
      <fileset dir="${output.java.dir}" includes="**/*_Impl.java" />
      <fileset dir="${output.classes.dir}" includes="**/*_Impl.class" />
    </delete>
  </target>
首先就是定义wscompile任务,对应的类是 com.sun.xml.rpc.tools.ant.Wscompile;
mkdir然后调用wscompile任务。

1.3.1 wscompile任务如下:
<target name="call-wscompile">
    <wscompile fork="on"
               verbose="on"
               import="on"
               keep="on"
               features="norpcstructures,wsi,strict"
               base="${output.classes.dir}"
               sourcebase="${output.java.dir}"
               mapping="${output.web.dir}/jaxrpc-mapping.xml"
               config="${resources.dir}/wscompile.xml"
               classpathref="wscompile.path"
               jvmargs="-Duser.dir=${project.dir}" />
  </target>
1.3.2 是delete两个目录下的东西

2的内容如下:
 <target name="deploy"
          depends="pack-web"
          description="deploy application to server">
    <copy todir="${jboss.server.deploy.dir}"
          file="${output.dir}/${module.name}.war" />
  </target>

2.1 pack-web的内容如下:
<target name="pack-web" depends="compile">
    <war warfile="${output.dir}/${module.name}.war" webxml="${web.dir}/web.xml">
      <classes dir="${output.classes.dir}" />
      <webinf dir="${web.dir}" excludes="web.xml" />
      <webinf dir="${output.web.dir}" />
    </war>
  </target>
2.2是copy目录。

就是上面这些过程了,执行结果如下;
Buildfile: D:\jbpm-bpel-1.1.Beta3\examples\account\build.xml
detect-wsgenerator:
generate-artifacts:
setup-wstools:
setup-wscompile:
    [mkdir] Created dir: D:\jbpm-bpel-1.1.Beta3\examples\account\target\classes
    [mkdir] Created dir: D:\jbpm-bpel-1.1.Beta3\examples\account\target\resources\web
call-wscompile:
[wscompile] command line: wscompile D:\eos6\jdk1.5.0_09\jre\bin\java.exe -Duser.dir=D:\jbpm-bpel-1.1.Beta3\examples\account -classpath D:\jwsdp\jaxrpc\lib\jaxrpc-api.jar;D:\jwsdp\jaxrpc\lib\jaxrpc-impl.jar;D:\jwsdp\jaxrpc\lib\jaxrpc-spi.jar;D:\eos6\jdk1.5.0_09\lib\tools.jar;D:\jbpm-bpel-1.1.Beta3\examples\account\src\main\resources com.sun.xml.rpc.tools.wscompile.Main -d D:\jbpm-bpel-1.1.Beta3\examples\account\target\classes -features:norpcstructures,wsi,strict -import -keep -mapping D:\jbpm-bpel-1.1.Beta3\examples\account\target\resources\web\jaxrpc-mapping.xml -s D:\jbpm-bpel-1.1.Beta3\examples\account\target\java -verbose D:\jbpm-bpel-1.1.Beta3\examples\account\src\main\resources\wscompile.xml
[wscompile] [ServiceInterfaceGenerator: creating service interface: org.jbpm.bpel.tutorial.account.AccountService]
[wscompile] [CustomClassGenerator: generating JavaClass for: AccountOperation]
   [delete] Deleting 1 files from D:\jbpm-bpel-1.1.Beta3\examples\account\target\java
   [delete] Deleting 1 files from D:\jbpm-bpel-1.1.Beta3\examples\account\target\classes
compile:
    [javac] Compiling 2 source files to D:\jbpm-bpel-1.1.Beta3\examples\account\target\classes
     [copy] Copying 1 file to D:\jbpm-bpel-1.1.Beta3\examples\account\target\classes
pack-web:
      [war] Building war: D:\jbpm-bpel-1.1.Beta3\examples\account\target\account.war
deploy:
     [copy] Copying 1 file to D:\eos6\app_server\jboss-4.0.5\server\default\deploy
redeploy:
BUILD SUCCESSFUL
Total time: 9 seconds

分享到:
评论

相关推荐

    chen-jbpm_websale.zip_jbmp_jbmp java_jbpm_jbpm_websale_网上销售系统

    【标题】"chen-jbpm_websale.zip_jbmp_jbmp_java_jbpm_jbpm_websale_网上销售系统" 提供的是一个基于JBPM(Java Business Process Management)技术的网上销售系统的示例项目。JBPM是一个开源的工作流管理系统,它...

    jbpm_websale.rar_JSF_java JBPM_jbpm_jbpm websale_websale jb

    JBPM支持BPMN2.0标准,使得业务流程可以以图形化的方式进行设计和理解,同时提供了与Java EE应用程序集成的能力。 JSF,全称为JavaServer Faces,是Java平台上的一个用于构建用户界面的MVC(Model-View-Controller...

    jbpm_test.rar_ProcessImageTag_TestJBPM_jbpm_jbpm-te_报销

    JBPM是一个强大的工作流引擎,它支持BPMN 2.0标准,允许开发者用图形化的方式定义复杂的业务流程。它提供了一个全面的工具集,包括流程建模、部署、执行、监控和分析等。JBPM不仅支持业务规则的集成,还能够与各种...

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    2. **部署流程**:设计完成后,将流程模型导出为.bpel或.jpdl文件,然后通过jbPM API或命令行工具部署到服务器。 3. **启动流程**:编写Java代码或者使用API来启动一个流程实例,通常需要传入一些初始参数。 4. **...

    jbpm扩展包(jbpm_adapter.jar)

    jbpm_adapter.jar文件是针对jbpm的扩展,它的主要目标是简化jbpm的使用,尤其是针对任务管理和流程监控方面。通过这个扩展包,用户可以更方便地获取并操作流程实例中的各项列表,例如待办、已办、办结、已阅和未阅等...

    jbpm-bpel-1.1.Beta3.zip_BPEL_Starters

    jbpm-bpel-1.1.Beta3 JBoss jBPM Starters Kit 是一个综合包,它包括了 jBPM 软件包、开发插件、一个配置好了的基于 JBoss 的 jBPM 示例、一些数据库配置文件示例。

    jbpm_4.4完整架包

    【jbpm_4.4完整架包】是一个包含jbpm(Java Business Process Management)4.4版本所有必要组件和资源的压缩包。jbpm是一个开源的工作流管理系统,它提供了业务流程建模、部署、执行、监控和管理的能力,主要用于...

    ItcastOA.zip_itcastoa_itcastoa jbpm_java JBPM_jbpm_权限

    《ITcastOA.zip——JBPM工作流与权限设计解析》 在信息技术领域,流程管理和权限控制是企业信息系统中不可或缺的部分。本资料集“ITcastOA.zip”深入探讨了基于JBPM的工作流实现以及相关的权限设计,这对于理解企业...

    jbpm.rar_jbpm_jbpm tuxedo_工作流

    6. **持久化与数据管理**:jbpm使用JPA(Java Persistence API)进行数据存储,学习者将学习如何配置持久化和管理流程实例的状态。 7. **监听器与事件**:jbpm支持定义监听器来捕获流程运行时的事件,这在日志记录...

    jbpm3.2表说明

    jbpm3.2表说明 很详细 1.1 JBPM_PROCESSDEFINITION:流程模版表 关系表 外键存在表 外键名称 外键存在表字段 存在原因 可能...JBPM_LOG JBPM_LOG FK_LOG_NODE NODE_ 日志所属NODE,当日志类型为N(NodeLog)时使用

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务流程,并将这些流程打包到流程档案(BPMN)中,以便在jBpm运行时服务器上执行。 jBpm 是Java Business Process Management 的缩写,它不仅是一个...

    jbpm-5.0.0-installer.zip_jbpm_jbpm 5.0_jbpm installer

    【jbpm-5.0.0-installer.zip_jbpm_jbpm 5.0_jbpm installer】这个压缩包是JBoss Business Process Management (jbpm) 的5.0版本安装程序,它提供了完整的jbpm源代码,让我们来深入探讨一下jbpm以及它的5.0版本。...

    jBPM_oralce10g

    jbpm的数据访问层通常使用Hibernate ORM框架,因此还需要配置Hibernate的Oracle dialect。此外,可能还需要进行性能调优,如设置适当的事务隔离级别和连接池大小,以适应jbpm的高并发工作负载。 6. **数据安全与...

    jbpm-jpdl-designer-3.0.13.zip_jbpm_jbpm design_jbpm designer_jbp

    jbpm-jpdl-designer-3.0.13 是一个与jbpm相关的软件包,主要功能是提供jbpm流程定义的图形化设计工具。jbpm(Java Business Process Management)是一个开源的工作流管理系统,用于管理和执行业务流程。JPDL(JBoss ...

    JBPM数据库表说明 jbpm 工作流 详细到每一个字段,不要下载分

    JBPM数据库表说明 2 1 流程配置类数据库表: 2 1.1 JBPM_PROCESSDEFINITION:流程模版表 2 1.2 JBPM_NODE:流程节点表 2 1.3 JBPM_TRANSITION:流程迁移表 3 1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:...

    传智播客JBPM_Basics_new

    传智播客JBPM_Basics_new.ppt

    jBPM_3.0.rar_bpm_jboss_jbpm_workflow

    **jbPM 3.0:工作流与BPM实践** jbPM是JBoss企业级中间件平台中的一个组件,专注于业务流程管理(Business Process Management,简称BPM)和工作流服务。jbPM 3.0作为该框架的一个版本,提供了强大的工具集和API,...

    jBPM_4.4_开发指南

    JBPM是一个优秀的开源工作流框架,核心引擎算法源自PetriNet理论,并深度了集成了Hibernate作为引擎的持久框架。 jBPM_4.4_开发指南.pdf、jBPM_4.4_用户手册.pdf 可以作为入门了解的文档。

    jbpm3.rar_bpm_bpm jbpm_jbpm3_workflow_workflow process bpm

    **jbpm3.rar_bpm_bpm jbpm_jbpm3_workflow_workflow process bpm** **jbpm3** 是一个基于Java的企业级工作流引擎,是**BPM(Business Process Management)**领域的重要工具。它允许开发者设计、执行和管理业务流程...

    Jbpm_4工程jar包

    1. **工作流模型**:Jbpm使用BPMN(Business Process Modeling Notation)标准来设计和表示工作流程。BPMN提供了一套图形化符号,使得业务人员和开发者能够清晰地理解流程。 2. **流程实例**:当一个工作流程模型被...

Global site tag (gtag.js) - Google Analytics