gpt4 book ai didi

java - drools 中是否有任何 API 仅通过传递值来动态创建 drl 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:33 24 4
gpt4 key购买 nike

我知道如何使用所有方法在 KIE 工作台中创建 DRL 文件。但是我的问题是不使用 KIE 工作台,我们可以使用我们需要的值创建 .drl 文件吗?如果有任何可能性,请给我建议。同样的方式建议我任何 API 都与此有关。提前致谢。

最佳答案

您可以使用 Drools Fluent API .试试下面的示例代码:

package com.sample;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

import org.drools.lang.DrlDumper;
import org.drools.lang.api.DescrFactory;
import org.drools.lang.descr.PackageDescr;

@SuppressWarnings("restriction")
public class Drl_Creator {
public static void main(String str[]){
PackageDescr pkg = DescrFactory.newPackage()
.name("org.drools.example")
.newRule().name("Xyz")
.attribute("ruleflow-grou","bla")
.lhs()
.and()
.pattern("Foo").id( "$foo", false ).constraint("bar==baz").constraint("x>y").end()
.not().pattern("Bar").constraint("a+b==c").end().end()
.end()
.end()
.rhs( "System.out.println();" ).end()
.getDescr();
DrlDumper dumper=new DrlDumper();
String drl=dumper.dump(pkg);
System.out.print(drl);
try{
// create new file
File file = new File("src/main/rules/test.drl");
file.createNewFile();
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(drl);
// close connection
bw.close();
System.out.println("File Created Successfully");
}catch(Exception e){
System.out.println(e);
}
}
}

关于java - drools 中是否有任何 API 仅通过传递值来动态创建 drl 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27522711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com