Drools6动态读取数据库规则

更新时间:2023-05-16 15:57:37 阅读: 评论:0

Drools6动态读取数据库规则
最近项⽬需要⽤到Drools,以前没接触过的,就只能百度资料了;查到的很多读库的规则写法都是drools6之前的,⽬前发现⼀种写法,只是实现了⾃定义规则,好像只能加载⼀个规则,还有很多问题希望⼤⽜发现解答...
package com.sy.studio.data_rver.dao;
import org.kie.api.KieBa;
暮雨洒江天import org.kie.api.KieServices;
import org.kie.api.builder.KieBuilder;
import org.kie.api.builder.KieFileSystem;
import org.kie.api.builder.Results;
import org.kie.api.event.rule.DebugAgendaEventListener;
import org.kie.api.event.rule.DebugRuleRuntimeEventListener;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
public class Drools6toDB {
public static void main(String[] args) {
String rule = "package com.sy\r\n";
rule += "import com.sy.studio.data_rver.dao.Drools6toDB.Message;\r\n";
rule += "rule \"Hello World\"\r\n";
rule += "\twhen\r\n";
rule += "m : Message( status == Message.HELLO, myMessage : message )";
rule += "\tthen\r\n";
rule += "\t\tSystem.out.println( myMessage );\r\n";
rule += "\t\tm.tMessage(\"Goodbye cruel world\");\r\n";
预习的好处rule += "\t\tm.tStatus( Message.GOODBYE );;\r\n";
rule += "\t\tupdate( m );;\r\n";
rule += "end\r\n";
rule += "rule \"GoodBye\"\r\n";
rule += "\twhen\r\n";
rule += "Message( status == Message.GOODBYE, myMessage : message )";
rule += "\tthen\r\n";
rule += "\t\tSystem.out.println( 2+\":\"+myMessage );\r\n";
rule += "end\r\n";
KieServices kieServices = ();
KieFileSystem kfs = wKieFileSystem();
kfs.write( "src/main/resources/rules/ruless.drl",Bytes());
五福图片KieBuilder kieBuilder = wKieBuilder( kfs ).buildAll();笑话合集
Results results = Results();
if( results.hasMessages( org.kie.api.builder.Message.Level.ERROR ) ){
System.out.println( Messages() );
throw new IllegalStateException( "### errors ###" );酱爆鱿鱼
}
KieContainer kieContainer = wKieContainer( Repository().getDefaultReleaId() );
KieBa kieBa = KieBa();
KieSession kssion = wKieSession();
Message message = new Message();
message.tMessage("Hello World");
驻村日记message.tStatus(Message.HELLO);
Message message2 = new Message();
message2.tStatus(Message.HELLO);
message2.tMessage("hi world!");
kssion.addEventListener( new DebugAgendaEventListener() );
kssion.addEventListener( new DebugRuleRuntimeEventListener() );
kssion.inrt(message);
kssion.inrt(message2);
kssion.inrt(message2);
kssion.fireAllRules();
}
public static class Message {
public static final int HELLO = 0;
public static final int GOODBYE = 1;
private String message;
private int status;
public String getMessage() {
ssage;
}
public void tMessage(String message) {            ssage = message;
}
public int getStatus() {
return this.status;
雷雨原文
}
public void tStatus(int status) {
this.status = status;
}
春光好}
}

本文发布于:2023-05-16 15:57:37,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/904314.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:规则   只能   希望   发现
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图