配合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 易语言源码保存和读取...
在MySQL数据库系统中,`.frm`文件是存储表结构的关键文件,它包含了关于数据库表的定义,如字段名、字段类型、索引等信息。当遇到数据库损坏或丢失元数据的情况,`.frm`文件就成为了恢复数据结构的重要资源。本文将...
易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库源码.rar 易语言源码易语言读取ACCESS数据库...
易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar 易语言源码易语言读取CSDN验证码源码.rar ...
易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容...
易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码...
易语言源码易语言对象excel读取MDB数据库源码.rar 易语言源码易语言对象excel读取MDB数据库源码.rar 易语言源码易语言对象excel读取MDB数据库源码.rar 易语言源码易语言对象excel读取MDB数据库源码.rar 易语言...
在Excel中进行数据读取是一项基础且重要的技能,尤其对于数据分析、报表制作和自动化处理等任务来说至关重要。本文将详细讲解如何使用Excel读取数据,以及相关知识点。 首先,我们需要了解Excel文件的基本结构。...
瑞星 序列号 读取 软件 瑞星序列号读取器
LFI高级技巧:利用LFI读取敏感文件.docx LFI高级技巧:利用LFI读取敏感文件all.docx LFI高级技巧:利用LFI读取敏感文件_(10).文件包含绕过技巧.docx LFI高级技巧:利用LFI读取敏感文件_(11).利用LFI进行远程文件...