2016-04-24 7 views
0

Ich benutze einen einfachen Geschäftsprozess mit nur Start-> Task-> Ende, , aber nach dem Ausführen von Test.java, die erfolgreich aus meiner .bpmn Datei generiert wurde, werde ich ein Fehler : "IllegalArgumentException: Asset kann nicht hinzugefügt werden ... Der Task-Knoten [2] hat keinen Task-Typ".Definieren eines Aufgabentyps in jBPM6 (in Eclipse)

Ich nehme an, ich könnte es lösen, indem ich meine eigene benutzerdefinierte Aufgabe mit .wid-Datei registrieren. Leider kann ich nach dem Erstellen dieser Datei meine .bpmn-Datei in Eclipse nicht mehr öffnen.

Hoffe auf Ihre Hilfe.

Eclipse-: Luna, jbpm 6.3.0.Final, BPMN-Modellierer: 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); 
} 

Snippet von .bpmn Quellansicht

 <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> 

Antwort

0

Nun es heißt, dass Ihre Aufgabe nicht auf BPMN-Datei registriert ist. Ändern Sie die erste Zeile von BPMN mit.

  • Copy bpmn Quellensicht Code in den Editor und modifiziert den Code BPMN und als sample.bpmn speichern und innerhalb Ressourcen vor diesem entfernen bestehenden sample.bpmn Datei einfügen.

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

    ich bin sicher, dass es für jeden Zweifel arbeiten fragen hier

Verwandte Themen