如何为 Drools KIE 服务器格式化 xml 字符串?
How to format xml string for Drools KIE server?
目前,我在 Drools Workbench 中构建 Drools 规则包(*.jar 文件),并将其部署到 KIE 服务器容器。要请求该服务,我只需 post 一个 XML 命令到容器,该命令摘自 here:
<batch-execution lookup="defaultKieSession">
<insert out-identifier="message" return-object="true" entry-point="DEFAULT">
<com.arty.drlwb.MyExampleType>
<message>Hello Worlddddd</message>
</com.arty.drlwb.MyExampleType>
</insert>
<fire-all-rules/>
</batch-execution>
我能得到我所期望的。一切正常。
但是我发现有two KieSessions in the rule package,不知道会用到哪一个。如果使用有状态的,并且我一遍又一遍地使用不同的事实(此处的消息)执行 post XML 命令,据我所知,所有事实都将保存在 Drools 的工作记忆中。
那么,没有retract命令会不会导致内存泄露?如果是,格式化的正确方法是什么XML 命令?
可以通过 <batch-execution>
元素中的 lookup
属性指定您要在 kie-server 中用于批处理的会话。在您的情况下,将使用名称为 defaultKieSession
的 KieSession。
如果没有指定lookup
属性,那么会选择kmodule.xml中定义为默认(default="true"
)的KieSession。如果在 kmodule.xml 中指定了多个默认会话(就像在您之前的 post 中一样),那么我不确定会选择哪一个。我想说的是,在 <batch-execution>
元素中提供 lookup
属性以避免混淆始终是一个好习惯。
关于撤回事实,鉴于此操作在Drools6.x中被重命名为"delete",您查找的命令是org.drools.core.command.runtime.rule.DeleteObjectCommand
。奇怪的是,这个命令仍然被序列化为 <retract>
.
希望对您有所帮助,
目前,我在 Drools Workbench 中构建 Drools 规则包(*.jar 文件),并将其部署到 KIE 服务器容器。要请求该服务,我只需 post 一个 XML 命令到容器,该命令摘自 here:
<batch-execution lookup="defaultKieSession">
<insert out-identifier="message" return-object="true" entry-point="DEFAULT">
<com.arty.drlwb.MyExampleType>
<message>Hello Worlddddd</message>
</com.arty.drlwb.MyExampleType>
</insert>
<fire-all-rules/>
</batch-execution>
我能得到我所期望的。一切正常。
但是我发现有two KieSessions in the rule package,不知道会用到哪一个。如果使用有状态的,并且我一遍又一遍地使用不同的事实(此处的消息)执行 post XML 命令,据我所知,所有事实都将保存在 Drools 的工作记忆中。
那么,没有retract命令会不会导致内存泄露?如果是,格式化的正确方法是什么XML 命令?
可以通过 <batch-execution>
元素中的 lookup
属性指定您要在 kie-server 中用于批处理的会话。在您的情况下,将使用名称为 defaultKieSession
的 KieSession。
如果没有指定lookup
属性,那么会选择kmodule.xml中定义为默认(default="true"
)的KieSession。如果在 kmodule.xml 中指定了多个默认会话(就像在您之前的 post 中一样),那么我不确定会选择哪一个。我想说的是,在 <batch-execution>
元素中提供 lookup
属性以避免混淆始终是一个好习惯。
关于撤回事实,鉴于此操作在Drools6.x中被重命名为"delete",您查找的命令是org.drools.core.command.runtime.rule.DeleteObjectCommand
。奇怪的是,这个命令仍然被序列化为 <retract>
.
希望对您有所帮助,