工作流引擎选型

因为规则引擎用的drools,所以自然而然先考察了jbpm7

不得不说drools对dmn的支持非常的好,不管是决策表,执行自定义java代码 ,比较惊艳,该有的都有 完全可以生产使用
但. jbpm7可以用半成品来形容,
首先给的文档内容很大但有价值的找不到,比如他的bussniess central里从definitions 生成instances时,有些额外的变量如果不在每个task里显式声明,就看到到tasks, 按给的例子找到方法后, 这个方法涉及的东西在文档里没有, 也就是这个很大的文档解决不了这个非常基础甚至是阻断性问题. 其次他的form做的极其垃圾已经不能用半成品形容了,
在这里插入图片描述
用他的form直接值是错的,在引用dmn的基础上, 甚至值都是错的, managerDecision值是Y
左边是他的form,右边是按接口调用. 很低级且不可原谅

尽管如此还是原谅了,考察了如何引入外部java代码, 可以看到bussiness central的设计一团糟糕.文档的编写一团糟糕, 文档几近不可用

放弃
暂时看下来.可供选择的 flowable, camunda

参考了:

https://fiend.blog.csdn.net/article/details/126406168

2022-12-15更新
jbpm中执行自定义java代码貌似是两个方法,
1是service task ,其中Implementation选java. 从后台看是在发布的时候会去初始化一个instance, 报错无法初始化,没有提示信息. 因为没有其他可操作的地方了, 放弃
2是在setting里有custom tasks里,安装 ServiceTask, 这时候会在项目里生成一个文件ServiceTask.wid ,内容如下:

[
        [
            "name" : "ServiceTask",
            "displayName" : "ServiceTask",
            "category" : "jbpm-workitems-bpmn2",
            "description" : "",
            "defaultHandler" : "mvel: new org.jbpm.process.workitem.bpmn2.ServiceTaskHandler()",
            "documentation" : "jbpm-workitems-bpmn2/index.html",

            "parameters" : [
                                "mode" : new StringDataType()
                ,"interfaceImplementationRef" : new StringDataType()
                ,"operationImplementationRef" : new StringDataType()
                ,"implementation" : new StringDataType()
                ,"Parameter" : new StringDataType()

            ],
            "results" : [
                                "Result" : new StringDataType()

            ],
            "mavenDependencies" : [
                                 "org.jbpm:jbpm-workitems-bpmn2:7.73.0.Final"

            ],
            "icon" : "ServiceTask.png"

        ]

]

这时候在bpmn编辑器里
在这里插入图片描述
类似于拓展的地方, 有了这样的控件.

可编辑的地方是data assign
在这里插入图片描述
其中interface是没有的, 只有wid文件里的5个参数.按着猜测填了之后发布,生成instance,这时候会报错 nullpointexception.报错函数是ServiceTaskHandler.java 290行, class.forName报空指针异常,原因是把null作为className传进去了

https://github.com/kiegroup/jbpm/blob/main/jbpm-workitems/jbpm-workitems-bpmn2/src/main/java/org/jbpm/process/workitem/bpmn2/ServiceTaskHandler.java

参考源码猜测是interface这个参数没配导致的. 加上之后.再跑,不在这个位置报错了, 提示无法找到自定义的java类, 已经确认jar是正确被依赖的.
故可以得出结论, 这玩意就是个半成品,太低级了, 要是拿出来卖要被骂死,因为是免费的为爱发电的所以不好骂人, 就是个半成品还发布版本, 脸都不要了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值