搜索

5.3. 创建服务任务

download PDF

服务任务是根据 Web 服务调用或 Java 类方法执行操作的任务。服务任务示例包括在执行这些任务时发送电子邮件和日志信息。您可以定义与服务任务关联的参数(输入)和结果(输出)。您还可以定义包含所有输入到单个对象中的嵌套参数。要定义嵌套参数,请使用 Wrapped': 'True 在数据分配中创建一个新的工作项目处理程序。Service 任务应该有一个进入的连接和一个传出的连接。

流程

  1. 在 Business Central 中,选择屏幕右上角的 Admin 图标,然后选择 Artifacts
  2. 单击 Upload 以打开 Artifact 上传 窗口。
  3. 选择 .jar 文件并点击 upload button

    重要

    .jar 文件包含数据类型(数据对象)以及 web 服务和 Java 服务任务的 Java 类。

  4. 创建一个要使用的项目。
  5. 进入您的项目 Settings Dependencies
  6. 单击 Add from repository,找到上传的 .jar 文件,然后单击 Select
  7. 打开您的项目 Settings Work Item Handler
  8. 在给定字段中输入以下值:

    • Name - Service Task
    • Value - new org.jbpm.process.workitem.bpmn2.ServiceTaskHandler(ksession, classLoader)
  9. 保存项目。

    创建 web 服务任务示例

    BPMN2 规格中的服务任务的默认实现是 Web 服务。Web 服务支持基于 Apache CXF 动态客户端,它提供实现 WorkItemHandler 接口的专用服务任务处理程序:

    org.jbpm.process.workitem.bpmn2.ServiceTaskHandler

    要使用 web 服务创建服务任务,您必须配置 web 服务:

    1. 创建业务流程。
    2. 如有必要,在屏幕右上角点击 Properties 图标。
    3. 点击 Imports 属性中的 import property icon 打开 Imports 窗口。
    4. 单击 WSDL Imports 旁边的 +Add,以导入所需的 WSDL(Web 服务描述语言)。例如:

      • 位置http://localhost:8080/sample-ws-1/SimpleService?wsdl

        位置指向服务的 WSDL 文件。

      • Namespace: http://bpmn2.workitem.process.jbpm.org/

        命名空间必须与 WSDL 文件中的 targetNamespace 匹配。

    5. 在进程设计器中,从工具面板选择 Activities 工具。
    6. 选择 Service Task
    7. 点进程设计器的空白区域。
    8. 根据需要添加或者定义下表中列出的任务信息。

      表 5.4. Web 服务任务参数
      标签描述

      Name

      service 任务的名称。您还可以双击服务任务形图来编辑名称。

      Documentation

      输入任务的描述。此字段中的文本包含在流程文档中。单击流程设计器左上角的 Documentation 选项卡,以查看流程文档。

      实施

      指定一个 Web 服务。

      Interface

      此服务用于实施脚本,如 CountriesPortService

      操作

      接口调用的操作,如 getCountry

      分配

      点击 添加本地变量。

      adhoc Autostart

      如果这是应自动启动的临时任务,请选择此项。adhoc Autostart 使任务能够在创建进程或案例实例时自动启动,而不是由启动任务启动。它通常用于管理。

      is Async

      选择 if should异步调用此任务。如果无法即时执行任务,则进行异步任务,例如由外部服务执行的任务。

      是多个实例

      如果此任务具有多个实例,请选择此项。

      MI 执行模式

      选择多个实例是否并行或按顺序执行。

      MI Collection 输入

      指定代表创建新实例的元素集合的变量,如 inputCountryNames

      MI 数据输入

      指定传输到 web 服务的输入数据分配,如 Parameter

      MI Collection 输出

      来自 web 服务任务返回的值的数组列表,如 outputCountries

      MI 数据输出

      指定 web 服务任务的输出数据分配,它将保存在服务器上类执行的结果,如 Result

      MI Completion Condition(mvel)

      指定每个完成实例上评估的 MVEL 表达式,以检查指定的多个实例节点是否可以完成。

      On Entry Action

      Java、JavaScript 或 MVEL 脚本,用于指定任务开头的操作。

      在退出操作中

      Java、JavaScript 或 MVEL 脚本,用于指定任务末尾的操作。

      SLA 过期日期

      服务级别协议(SLA)过期的日期。

      元数据属性

      添加要用于自定义事件监听程序的任何自定义元数据属性名称和值,例如在出现 metadata 属性时实施某些操作的监听程序。

      Metadata Attributes 可启用对 BPMN 图表的新 metaData 扩展,并修改整个任务的行为。

    创建 Java 服务任务示例

    使用 Java 方法创建服务任务时,方法只能包含一个参数,并返回单个值。要使用 Java 方法创建服务任务,您必须将 Java 类添加到项目的依赖项中:

    1. 创建业务流程。
    2. 在进程设计器中,从工具面板选择 Activities 工具。
    3. 选择 Service Task
    4. 点进程设计器的空白区域。
    5. 如有必要,在屏幕右上角点击 Properties 图标。
    6. 根据需要添加或者定义下表中列出的任务信息。

      表 5.5. Java 服务任务参数
      标签描述

      Name

      service 任务的名称。您还可以双击服务任务形图来编辑名称。

      Documentation

      输入任务的描述。此字段中的文本包含在流程文档中。单击流程设计器左上角的 Documentation 选项卡,以查看流程文档。

      实施

      指定任务在 Java 中实施。

      Interface

      用于实施脚本的类,如 org.xyz.HelloWorld

      操作

      接口调用的方法,如 sayHello

      分配

      点击 添加本地变量。

      adhoc Autostart

      如果这是应自动启动的临时任务,请选择此项。adhoc Autostart 使任务能够在创建进程或案例实例时自动启动,而不是由启动任务启动。它通常用于管理。

      is Async

      选择 if should异步调用此任务。如果无法即时执行任务,则进行异步任务,例如由外部服务执行的任务。

      是多个实例

      如果此任务具有多个实例,请选择此项。

      MI 执行模式

      选择多个实例是否并行或按顺序执行。

      MI Collection 输入

      指定代表创建新实例的元素集合的变量,如 InputCollection

      MI 数据输入

      指定转移到 Java 类的输入数据分配。例如,您可以将输入数据分配设置为 ParameterParameterTypeParameterType 代表 Parameter 的类型,并将参数发送到 Java 方法的执行。

      MI Collection 输出

      存储在 Java 类返回的值的数组列表中,如 OutputCollection

      MI 数据输出

      指定 Java 服务任务的输出数据分配,它将保存在服务器上类执行的结果,如 结果

      MI Completion Condition(mvel)

      指定每个完成实例上评估的 MVEL 表达式,以检查指定的多个实例节点是否可以完成。例如,OutputCollection.size()<= 3 代表没有解决三个以上的人员。

      On Entry Action

      Java、JavaScript 或 MVEL 脚本,用于指定任务开头的操作。

      在退出操作中

      Java、JavaScript 或 MVEL 脚本,用于指定任务末尾的操作。

      SLA 过期日期

      服务级别协议(SLA)过期的日期。

      元数据属性

      添加要用于自定义事件监听程序的任何自定义元数据属性名称和值,例如在出现 metadata 属性时实施某些操作的监听程序。

      Metadata Attributes 可启用对 BPMN 图表的新 metaData 扩展,并修改整个任务的行为。

  10. 点击 Save
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.