Java 在Drools 6.3中从xml读取规则
我正在尝试使用drools 6.3从XML中读取规则。我试图找到一些例子,但我没有发现任何有价值的东西,只有一个将xml转换为drl的例子,它不起作用,因为我使用的是较新版本的drools 我将eclipse生成的drl示例转换为xml,并将其替换为xml。看起来是这样的:Java 在Drools 6.3中从xml读取规则,java,xml,drools,Java,Xml,Drools,我正在尝试使用drools 6.3从XML中读取规则。我试图找到一些例子,但我没有发现任何有价值的东西,只有一个将xml转换为drl的例子,它不起作用,因为我使用的是较新版本的drools 我将eclipse生成的drl示例转换为xml,并将其替换为xml。看起来是这样的: <?xml version="1.0" encoding="UTF-8"?> <package name="com.sample" xmlns="http://drools.org/drools-5.2"
<?xml version="1.0" encoding="UTF-8"?>
<package name="com.sample" xmlns="http://drools.org/drools-5.2" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="http://drools.org/drools-5.2 drools.org/drools-5.2.xsd">
<import name="com.sample.DroolsTest.Message"/>
<rule name="Hello World">
<lhs>
<pattern identifier="m" object-type="Message">
<expr>
status == Message.HELLO
</expr>
<expr>
myMessage : message
</expr>
</pattern>
</lhs>
<rhs>
System.out.println( myMessage );
m.setMessage( "Goodbye cruel world" );
m.setStatus( Message.GOODBYE );
update( m );
</rhs>
</rule>
<rule name="GoodBye">
<lhs>
<pattern object-type="Message">
<expr>
status == Message.GOODBYE
</expr>
<expr>
myMessage : message
</expr>
</pattern>
</lhs>
<rhs>
System.out.println( myMessage );
</rhs>
</rule>
</package>
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession kSession = kContainer.newKieSession("ksession-rules");
但这不会加载xml文件
有没有关于如何加载xml的示例?我必须将其转换为drl吗?用于drl的XML版本的开发已经在几个版本之前正式终止,大约在IIRC的5.2版本。DRL已经发展成为一种非常复杂的语言,保持其XML对应项的最新已成为一项相当大但没有回报的工作 此外,由于明显的原因,供应商并不热衷于转换为独立于供应商的规则ML(对于DRL的子集)
您的问题并不清楚您为什么对XML中的规则编写感兴趣。如果您添加一些问题的背景信息,可能会得到更多帮助。用于DRL的XML版本的开发已经在几个版本之前正式终止,大约在IIRC的5.2版本。DRL已经发展成为一种非常复杂的语言,保持其XML对应项的最新已成为一项相当大但没有回报的工作 此外,由于明显的原因,供应商并不热衷于转换为独立于供应商的规则ML(对于DRL的子集)
您的问题并不清楚您为什么对XML中的规则编写感兴趣。如果您添加问题的背景信息,可能会得到更多帮助。感谢您的见解。我希望根据自定义GUI中的用户输入生成规则,然后将规则发送到服务器,在服务器上根据这些规则评估数据。我认为xml比drl更容易生成。现在我正试图使用“Fluent”API(不确定这个名称)来实现这一点,所以我要在java中创建规则,这将为我创建drl。到目前为止,它仍然有效,但是我还没有找到很多使用它的例子,所以我担心将来会遇到一些障碍。这是正确的选择。“流畅”API虽然不是“稳定”API的一部分,但对于您的预期目的来说应该足够全面和准确。感谢您的洞察力。我希望根据自定义GUI中的用户输入生成规则,然后将规则发送到服务器,在服务器上根据这些规则评估数据。我认为xml比drl更容易生成。现在我正试图使用“Fluent”API(不确定这个名称)来实现这一点,所以我要在java中创建规则,这将为我创建drl。到目前为止,它仍然有效,但是我还没有找到很多使用它的例子,所以我担心将来会遇到一些障碍。这是正确的选择。“流畅”API虽然不是“稳定”API的一部分,但对于您的预期目的来说,它应该足够全面和准确。