2012-03-29 82 views
0

一個最簡單的情況:我有一個流口水。 很簡單,就像如何以編程方式更改預定義的Drools流程?

"<?xml version="1.0" encoding="UTF-8"?> 
<process xmlns="http://drools.org/drools-5.0/process" 
     xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" 
     xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd" 
     type="RuleFlow" name="ruleflow" id="com.sample.ruleflow" package-name="com.sample" > 

    <header> 
    </header> 

    <nodes> 
    <start id="1" name="Start" x="16" y="16" width="48" height="48" /> 
    <actionNode id="2" name="Hello" x="96" y="16" width="80" height="48" > 
     <action type="expression" dialect="mvel" >System.out.println("Hello World");</action> 
    </actionNode> 
    <end id="3" name="End" x="208" y="16" width="48" height="48" /> 
    </nodes> 

    <connections> 
    <connection from="1" to="2" /> 
    <connection from="2" to="3" /> 
    </connections> 

</process>" 

我怎樣才能改變它編程,不加載流文件,XML分析器等,而是通過代碼來添加節點和連接?提前

感謝

回答

0

我不認爲任何Drools的API將在那裏爲修改規則

+0

這不是真的,下面是流動的升級非常複雜的例子,但我需要一些更簡單,這將有助於添加新節點 – Alexey 2012-03-29 09:22:21

+0

//將流程實例遷移到新版本 Map mapping = new HashMap (); //頂層節點2被映射到一個ID爲3的新節點 mapping.put(「2」,3L); //作爲組合節點5的一部分的節點2被映射到具有ID的新節點4 mapping.put(「5.2」,4L); WorkflowProcessInstanceUpgrader.upgradeProcessInstance( ksession,processInstance.getId(), 「com.sample.process2」,映射); – Alexey 2012-03-29 09:23:03

相關問題