我最近一直在使用jBPM 6迈出第一步,并设法通过本地安装使一切正常运行。
然后,我尝试使用Docker进行相同的设置,以实现演示的可移植性,并取得了成功,除了一个方面。
安装本地版本的jBPM 6.2.0.Final时,会自动将4个自定义工作项处理程序添加到工作台。日志,WebService,Rest和Service Task,这是我在流程中使用的。
现在安装jbpm-workbench:6.2.0.Final或jbpm-workbench-showcase:6.2.0.Final时,这些自定义工作项确实出现了,我无法确定在哪里复制CustomWorkItemHandlers.conf和drools.session.conf。在我的图像扩展名Dockerfile中,以便对其进行git拾取(或者是否足够,或者是否也需要.wid文件,等等)。
我还应该说,我正在工作台中做所有事情,到目前为止,我根本不需要编写或更改任何Java代码,因此我想使Docker版本以完全相同的方式工作。
如果有人有任何见解,我将不胜感激。谢谢!
显然我很愚蠢,并且忘记了沿线的某个地方,实际上我已经编辑了我在工作台中使用的存储库的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映像,它可以预先添加到存储库中,也可以在以后添加,这可能是通过自动化实现的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句