2014-04-02 25 views
0

我想开始使用jbpm,我正在学习本教程。 http://www.mastertheboss.com/jbpm5/jbpm-5-tutorial-first-example?start=1 在第二页上,我必须添加一个分歧网关,融合网关,约束,将类型更改为XOR,并创建一个变量“money”。当我尝试运行该程序时,出现以下错误。节点不能有多个传入/传出边缘

java.lang.IllegalArgumentException: This type of node cannot have more than one incoming connection! 
    at org.jbpm.workflow.core.node.ActionNode.validateAddIncomingConnection(ActionNode.java:50) 
    at org.jbpm.workflow.core.impl.NodeImpl.addIncomingConnection(NodeImpl.java:100) 
    at org.jbpm.workflow.core.impl.ConnectionImpl.connect(ConnectionImpl.java:76) 
    at org.jbpm.workflow.core.impl.ConnectionImpl.<init>(ConnectionImpl.java:71) 
    at org.jbpm.bpmn2.xml.ProcessHandler.linkConnections(ProcessHandler.java:293) 
    at org.jbpm.bpmn2.xml.ProcessHandler.end(ProcessHandler.java:145) 
    at org.drools.xml.ExtensibleXmlParser.endElement(ExtensibleXmlParser.java:422) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(Unknown Source) 
    at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:301) 
    at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:180) 
    at org.jbpm.compiler.xml.XmlProcessReader.read(XmlProcessReader.java:46) 
    at org.jbpm.compiler.ProcessBuilderImpl.addProcessFromXml(ProcessBuilderImpl.java:262) 
    at org.drools.compiler.PackageBuilder.addProcessFromXml(PackageBuilder.java:673) 
    at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:709) 
    at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:51) 
    at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:40) 
    at com.sample.ProcessMain.readKnowledgeBase(ProcessMain.java:31) 
    at com.sample.ProcessMain.main(ProcessMain.java:20) 
Exception in thread "main" java.lang.IllegalArgumentException: Could not parse knowledge. 
    at org.drools.builder.impl.KnowledgeBuilderImpl.newKnowledgeBase(KnowledgeBuilderImpl.java:79) 
    at com.sample.ProcessMain.readKnowledgeBase(ProcessMain.java:32) 
    at com.sample.ProcessMain.main(ProcessMain.java:20) 
0 02/04 10:05:21,243[main] ERROR builder.impl.KnowledgeBuilderImpl.newKnowledgeBase - ProcessLoadError: unable to parse xml : Exception class java.lang.IllegalArgumentException : This type of node cannot have more than one incoming connection! 

我试过调试,通过删除节点/边缘,直到我得到不同的错误。如果我删除整个分支,错误将是网关需要1 +边缘。如果我从其中一个分支中删除边缘,它会说该脚本具有多个传入/传出边缘。这似乎是,第二个脚本与不同的ID和名称,是与第一个混淆或有边缘,我看不到。

附加问题: 1.我如何知道它指的是哪个节点? (我用日食,这通常会送你到一个代码行的链接不显示任何东西)

截图的问题: [http://imgur.com/0gL5twY][1]

回答

1

你能分享你的流程示意图形象? 它正在引用通常是脚本节点的ActionNode。 我会推荐你​​使用web过程设计器,它在功能和验证方面要好得多。

Regards

+0

对不起,延误了,但我不在城里。我上传了流程图图像。 – Juan

+0

我没有使用Web Process Designer的原因是因为按照教程假设没有它。这意味着我做错了什么,但我不知道是什么。 – Juan

+0

试图使用Web Process Designer,并得到错误说服务器没有启动,于是我决定寻找一个原因,并且在完成一个新的完全安装后,服务器确实无法启动。这是来自服务器的日志http://pastebin.com/mqjKzaJ6 – Juan

相关问题