将自定义工作项处理程序转换为jBPM 6 docker镜像

时间:2015-07-18 13:55:22

标签: jboss docker jbpm

我最近在jBPM 6上迈出了第一步,并设法通过本地安装让事情顺利运行。

然后我尝试使用Docker将相同的东西用于我的演示的可移植性,但成功,除了在一个区域。

安装本地版本的jBPM 6.2.0.Final时,会自动将4个自定义工作项处理程序添加到工作台中。我在我的流程中使用的日志,WebService,休息和服务任务。

安装jbpm-workbench时:6.2.0.Final或jbpm-workbench-showcase:6.2.0.Final现在会出现这些自定义工作项,我无法确定复制CustomWorkItemHandlers.conf和drools的位置。在我的图像扩展名Dockerfile中的session.conf,以便git它来接收它们(或者如果这样就足够了,或者如果.wid文件也是必需的,或者是什么。

我还应该说,我正在Workbench中做所有事情,到目前为止我根本不需要编写或更改任何Java代码,所以我想让Docker版本完全正常工作同样的方式。

如果有人有任何见解,我会非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

显然我是愚蠢的,并且忘记了在某个地方的某个地方,我实际上编辑了我通过工作台使用的存储库的WorkDefinitions.wid文件,并添加了一行以使其像下面那样:

import org.drools.core.process.core.datatype.impl.type.StringDataType;
import org.drools.core.process.core.datatype.impl.type.ObjectDataType;

[
  [
    "name" : "Email",
    "parameters" : [
      "From" : new StringDataType(),
      "To" : new StringDataType(),
      "Subject" : new StringDataType(),
      "Body" : new StringDataType()
    ],
    "displayName" : "Email",
    "icon" : "defaultemailicon.gif"
  ],

  [
    "name" : "Log",
    "parameters" : [
      "Message" : new StringDataType()
    ],
    "displayName" : "Log",
    "icon" : "defaultlogicon.gif"
  ],

  [
    "name" : "WebService",
    "parameters" : [
        "Url" : new StringDataType(),
         "Namespace" : new StringDataType(),
         "Interface" : new StringDataType(),
         "Operation" : new StringDataType(),
         "Parameter" : new StringDataType(),
         "Endpoint" : new StringDataType(),
         "Mode" : new StringDataType()
    ],
    "results" : [
        "Result" : new ObjectDataType(),
    ],
    "displayName" : "WS",
    "icon" : "defaultservicenodeicon.png"
  ],

  [
    "name" : "Rest",
    "parameters" : [
        "Url" : new StringDataType(),
        "Method" : new StringDataType(),
        "ConnectTimeout" : new StringDataType(),
        "ReadTimeout" : new StringDataType(),
        "Username" : new StringDataType(),
        "Password" : new StringDataType()
    ],
    "results" : [
        "Result" : new ObjectDataType(),
    ],
    "displayName" : "REST",
    "icon" : "defaultservicenodeicon.png"
  ]

]

一旦我再次这样做,那就很好了。很明显,对于Docker镜像,它可以预先添加到存储库中,也可以在之后添加,可能是通过自动化。