Kie Workbench,指导规则,在规则中创建对象



我是Drools和Kie Workbench的新手,所以请忍受我。我在决定写出指导规则的"然后"一部分的最佳方法很难。我的问题如下:

规则:如果客户端具有特定的资产类,请生成并添加任务列表以卸载客户端。例如:

when
    clientOffBoard : ClientOffBoard( activity == Activity.PREVENT_TRADE && , client.assetClass == AssetClass.ETD )

在当时的一部分中,我需要做这样的事情:

then
    Task task1 = new Task();
    task1.setDescription( "Remove the client from system A" );
    insertLogical( task1 );
    clientOffBoard.addTask( task1 );
    Task task2 = new Task();
    task1.setDescription( "Notify Person B" );
    insertLogical( task2 );
    clientOffBoard.addTask( task2 );
    ...

我的问题是围绕"然后"部分和任务对象。BA应该能够在需要时创建任务。目前,任务对象只是一个具有"字符串描述"字段的容器对象。BA是否需要像我上面做的那样,在指导规则中创建它们?

请注意,使用Kie Workbench可以随时通过BAS创建新任务,并且有许多客户共享相同的任务。每个客户端板对象的任务列表可能具有0个多项任务。在工作台中处理此问题的最佳方法是什么。任何建议将不胜感激。

我当前的设置涉及用我的"事实"创建一个JAR文件,即以上所有类,但是在实际执行中,可以分配事实的值,即使用特定描述创建一个新的任务对象,然后将此任务插入客户端offboard任务列表。

我希望这是有道理的。

谢谢

据我了解,您需要设置(修改)任务列表。这应该给您一组Java对象 - 每个任务列表:

<TaskListSet>
   <TaskList id="use for ETD">
     <Task>Remove the client from system A</Task>
     <Task>Notify Person B</Task>
   </TaskList>
   <TaskList id="use for FOO">
     ...
   ...
</TaskListSet>

您不能期望提供Kieworkbench来帮助您完成此简单的编辑任务。您可以使用XML编辑器,也可以定义其他文本格式,等等

规则作者将简单地通过其ID选择适当的任务列表并写入

then
  clientOffBoard.setTaskList( "use for ETD" );
end

也许需要将单个任务插入事实(如您在Q中所具有的事实),但这是一个技术细节。

相关内容

  • 没有找到相关文章

最新更新