编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Drools 的高级语法之function使用

wxchong 2024-06-21 14:14:53 开源技术 19 ℃ 0 评论

function关键字用于在规则文件中定义函数,就相当于java类中的方法一样。可以在规则体中调用定义的函数。使用函数的好处是可以将业务逻辑集中放置在一个地方,根据需要可以对函数进行修改。

语法结构如下:

function 返回值类型 函数名(可选参数){

//逻辑代码

}

编写测试文件

//定义一个函数

function String sayHello(String name){

return "hello I am" + name;

}

rule "rule_function"

when

$user:User(name != null)

then

//调用上面定义的函数

String ret = sayHello($user.getName());

System.out.println(ret);

end

测试代码

@Test

public void functionTest()

{

KieServices kieServices = KieServices.Factory.get();

KieContainer kieClasspathContainer = kieServices.getKieClasspathContainer();

KieSession kieSession = kieClasspathContainer.newKieSession("queryKS");

User user = new User();

user.setName("张三");

user.setLevel(12);

kieSession.insert(user);

kieSession.fireAllRules();

kieSession.dispose();

}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表