小编Gre*_*lds的帖子

将特定于域的对象传递给 jBPM 6 工作台中的特定于域的任务

我已经为此苦苦挣扎了几天,但运气不佳。在 jboss wildfly 上运行的 jBPM 6 工作台中,我试图调用自定义工作项处理程序并传入特定于域的对象的实例。

到目前为止,这是我的过程:

  1. 在外部 jar 中定义特定于域的类 acme.datamodel.UserBio:datamodel.jar。

  2. 通过“工件存储库”-> 上传功能将“datamodel.jar”上传到 jbpm-console。

  3. 在 jbpm-console 中创建一个新的存储库并创建一个新的 jbpm 项目。

  4. 通过项目编辑器将 datamodel.jar 作为依赖项添加到我的 jbpm 项目。

  5. 在 jbpm 项目中创建一个新进程。

  6. 创建 acme.datamodel.UserBio 类型的新流程变量。

  7. 为我的域特定任务 (Greeting.wid) 创建一个新的工作项定义,如下所示:

    import org.drools.core.process.core.datatype.impl.type.StringDataType;
    import org.drools.core.process.core.datatype.impl.type.ObjectDataType;
    [
      [
        "name" : "Greeting", 
        "parameters" : [ 
            "UserBio" : new ObjectDataType("acme.datamodel.UserBio") 
        ], 
        "results" : [ 
            "Result" : new ObjectDataType("java.util.Map") 
        ], 
        "displayName" : "Greeting", 
        "icon" : "../../../global/defaultservicenodeicon.png" 
      ]
    ]
    
    Run Code Online (Sandbox Code Playgroud)
  8. 将特定于域的任务 (Greeting) 添加到我的流程工作流中。

  9. 将步骤 5 中的流程变量映射为 Greeting 任务的输入参数。

  10. 在外部 jar (workitems.jar) 中定义我的自定义工作项处理程序,如下所示:

    package …
    Run Code Online (Sandbox Code Playgroud)

java jboss jbpm wildfly

5
推荐指数
1
解决办法
3148
查看次数

标签 统计

java ×1

jboss ×1

jbpm ×1

wildfly ×1