配合Guvnor一起使用,简单的实现如下:
直接使用Drools 的HelloWorld例子进行改动:
代码清单一:
package com.sample;
import org.drools.KnowledgeBase; import org.drools.KnowledgeBaseFactory; import org.drools.agent.KnowledgeAgent; import org.drools.agent.KnowledgeAgentFactory; import org.drools.builder.KnowledgeBuilder; import org.drools.builder.KnowledgeBuilderError; import org.drools.builder.KnowledgeBuilderErrors; import org.drools.builder.KnowledgeBuilderFactory; import org.drools.builder.ResourceType; import org.drools.io.ResourceFactory; import org.drools.logger.KnowledgeRuntimeLogger; import org.drools.logger.KnowledgeRuntimeLoggerFactory; import org.drools.runtime.StatefulKnowledgeSession;
/** * This is a sample class to launch a rule. */ public class DroolsTest {
public static final void main(String[] args) { try { // load up the knowledge base KnowledgeBase kbase = readKnowledgeBase(); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test"); // go ! Message message = new Message(); message.setMessage("Hello World"); message.setStatus(Message.HELLO); ksession.insert(message); ksession.fireAllRules(); logger.close(); } catch (Throwable t) { t.printStackTrace(); } }
private static KnowledgeBase readKnowledgeBase() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); //修改此方法 //kbuilder.add(ResourceFactory.newClassPathResource("Sample.drl"), ResourceType.DRL); kbuilder.add(ResourceFactory.newUrlResource("http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/com.chen.rules/LATEST"), ResourceType.PKG); KnowledgeBuilderErrors errors = kbuilder.getErrors(); if (errors.size() > 0) { for (KnowledgeBuilderError error: errors) { System.err.println(error); } throw new IllegalArgumentException("Could not parse knowledge."); } KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addKnowledgePackages(kbuilder.getKnowledgePackages()); //采用Agent的方式 /* KnowledgeAgent kagent=KnowledgeAgentFactory.newKnowledgeAgent("/deploy.properties"); KnowledgeBase kbase=kagent.getKnowledgeBase();*/ return kbase; }
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() { return this.message; }
public void setMessage(String message) { this.message = message; }
public int getStatus() { return this.status; }
public void setStatus(int status) { this.status = status; } }
}
|
部分截图:



图示:

测试结果:

------Game Over----------------

- 大小: 25.3 KB

- 大小: 18.2 KB

- 大小: 14.6 KB

- 大小: 15.7 KB

- 大小: 14 KB
分享到:
相关推荐
python读取excel数据python读取excel数据源码.zippython读取excel数据源码.zippython读取excel数据源码.zippython读取excel数据源码.zippython读取excel数据源码.zippython读取excel数据源码.zippython读取excel数据...
本函数用来读取.dat与.img格式的ENVI数据,所用到的数据为.hdr格式的头文件与.dat格式的数据文件。
基于matlab编写的nrrd医学图像数据读取函数: nrrdread.m nrrdread_std.m
接下来,我们来看如何读取.xls文件: ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import java.io....
选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar
易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar
易语言源码易语言读取进度循环暂停.rar 易语言源码易语言读取进度循环暂停.rar 易语言源码易语言读取进度循环暂停.rar 易语言源码易语言读取进度循环暂停.rar 易语言源码易语言读取进度循环暂停.rar 易语言源码...
读取nii或者nii.gz文件中的信息,并且输出图像。 import matplotlib from matplotlib import pylab as plt import nibabel as nib from nibabel.viewers import OrthoSlicer3D file = '' #你的nii或者nii.gz文件...
首先,在 ASP.NET Core 中,Request.Body 是一个 Stream 对象,它不能被直接读取。我们需要使用 StreamReader 对象来读取 Request.Body。下面是一个简单的示例代码: ```csharp public override void ...
用C++结合MATLAB读取NOAA气象数据.pdf
易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取...
易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库...
易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar ...
易语言源码选择框读取保存模块代码.rar 易语言源码选择框读取保存模块代码.rar 易语言源码选择框读取保存模块代码.rar 易语言源码选择框读取保存模块代码.rar 易语言源码选择框读取保存模块代码.rar 易语言源码...
在Excel中进行数据读取是一项基础且重要的技能,尤其对于数据分析、报表制作和自动化处理等任务来说至关重要。本文将详细讲解如何使用Excel读取数据,以及相关知识点。 首先,我们需要了解Excel文件的基本结构。...
瑞星 序列号 读取 软件 瑞星序列号读取器
LFI高级技巧:利用LFI读取敏感文件.docx LFI高级技巧:利用LFI读取敏感文件all.docx LFI高级技巧:利用LFI读取敏感文件_(10).文件包含绕过技巧.docx LFI高级技巧:利用LFI读取敏感文件_(11).利用LFI进行远程文件...
在Windows Forms(Winform)应用开发中,常常需要读取配置文件来获取应用程序的设置信息,如数据库连接字符串、API密钥等。`app.config`是.NET Framework为桌面应用程序提供的默认配置文件,它允许开发者存储和管理...
java 写的读取txt、property...等文件的内容保存在list里,希望对大家能得到帮助。
易语言读取CSDN验证码源码.zip易语言项目例子源码下载易语言读取CSDN验证码源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考