在jBPM6中定义任务类型(在Eclipse中)

时间:2016-04-24 22:04:34

标签: eclipse jbpm

我使用简单的业务流程,只需使用Start-> Task-> End, 但是在执行了从我的.bpmn文件成功生成的Test.java后,我变成了一个错误:" IllegalArgumentException:无法添加资产...任务节点[2]没有任务类型"。

我想,我可以通过使用.wid文件注册我自己的自定义任务来解决它。不幸的是,在创建此文件后,我无法再在eclipse中打开我的.bpmn文件。

希望得到你的帮助。

Eclipse:Luna, jbpm 6.3.0.Final, BPMN-建模:1.6

jUnitTest.java

package org.jbpm;
import com.sample.ItemHandler;
public class Hello_WorldJUnitTest extends JbpmJUnitTestCase {

@Test
public void test() {
    KieSession ksession = createKnowledgeSession("sample.bpmn");
    ksession.getWorkItemManager().registerWorkItemHandler("Task", new ItemHandler());
    ProcessInstance processInstance = ksession.startProcess("com.sample.bpmn.hello");

}

ItemHandler.java

    package com.sample;

public class ItemHandler implements WorkItemHandler {

@Override
public void abortWorkItem(WorkItem arg0, WorkItemManager arg1) {
    System.out.println("Work is aborted");
}

@Override
public void executeWorkItem(WorkItem arg0, WorkItemManager arg1) {
    System.out.println("You are welcome!");
    arg1.completeWorkItem(arg0.getId(), param);
}

来自.bpmn源视图的片段

        <bpmn2:task id="Task_1" name="Task">
  <bpmn2:extensionElements>
    <tns:metaData name="elementname">
      <tns:metaValue><![CDATA[Task]]></tns:metaValue>
    </tns:metaData>
    <tns:onEntry-script scriptFormat="http://www.java.com/java">
      <tns:script>import org.drools.core.process.core.datatype.impl.type.StringDataType;
  </tns:script>
    </tns:onEntry-script>
  </bpmn2:extensionElements>
  <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
  <bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
  <bpmn2:ioSpecification id="InputOutputSpecification_1">
    <bpmn2:inputSet id="_InputSet_2" name="Input Set 2"/>
    <bpmn2:outputSet id="OutputSet_1" name="Output Set 1"/>
  </bpmn2:ioSpecification>
</bpmn2:task>

1 个答案:

答案 0 :(得分:0)

好吧,它说您的任务未在BPMN文件上注册。用BP更改BPMN的第一行。

  • 将bpmn源视图代码复制到记事本中并修改BPMN代码并将其保存为sample.bpmn并粘贴内部资源,然后删除现有的sample.bpmn文件。

      <bpmn2:task id="Task_1" tns:taskName="Task" name="Task">
    

    我相信这会产生任何疑问,请点击此处