java - JBPM 6 - 以编程方式创建一个带有 "service task"节点的流程

标签 java drools jbpm bpmn

JBPM 6 用户指南已列出 an example它允许使用 Process API 以编程方式创建工作流程.

我按照示例创建了一个服务任务(一个具有关联类的任务,具有实际的节点执行代码)。这是我的代码

//Headers
RuleFlowNodeContainerFactory rfncf = factory.name(process.getName()).version("1.0").packageName("test.package")
// Nodes
.startNode(1).name("Start").done();

rfncf.actionNode(1).name("sample-node-name")
     .action(new Action() {
            @Override
            public void execute(ProcessContext context) throws Exception {
                System.out.println("testing execution...");
            }
      })
.done();

在上面的例子中,我创建了一个 Action 节点并将它与一个实现了org.jbpm.process.instance.impl.Action

的匿名内部类相关联

当我运行这段代码时,出现以下异常

java.lang.ClassCastException: org.jbpm.workflow.core.DroolsAction cannot be cast to org.jbpm.workflow.core.impl.DroolsConsequenceAction
  at org.jbpm.bpmn2.xml.XmlBPMNProcessDumper.visitEscalations(XmlBPMNProcessDumper.java:505)
  at org.jbpm.bpmn2.xml.XmlBPMNProcessDumper.visitProcess(XmlBPMNProcessDumper.java:143)
  at org.jbpm.bpmn2.xml.XmlBPMNProcessDumper.dump(XmlBPMNProcessDumper.java:98)
  at org.jbpm.bpmn2.xml.XmlBPMNProcessDumper.dump(XmlBPMNProcessDumper.java:89)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

在 google 上搜索发现 JBPM 端存在一个 Unresolved 错误 (https://issues.jboss.org/browse/JBPM-4378)。

我的问题是,有没有其他方法可以达到同样的目的?

最佳答案

您可以查看 Process Fluent API example Mariano De Maio,jBPM6 开发者指南的作者。这是一种有点不同的方法(不使用 RuleFlowNodeContainerFactory),但我可以确认这个方法有效 ;-)

问候。

关于java - JBPM 6 - 以编程方式创建一个带有 "service task"节点的流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24608345/

相关文章:

java - 如何创建自定义 SSLSocketFactory?

java - 好的java分词器吗?

java - 如何获取字符串中第一个和最后一个字符的索引?

DROOLS 模式匹配具有复杂对象的嵌套列表

java - PostgreSQL 抛出 "Connection has been abandoned"-> "An I/O error occurred while sending to the backend"

java - 如果不为空,则与 Integer 对象求和

Java规则API : [No RuleServiceProvider registered against URI: http://drools. org/),根本原因(null)]

jbpm - 使用 jBPM 的好处

drools - 从 JBPM 5 中的规则任务访问流程实例

drools - 使用 Drools 规则引擎对对象列表进行排序