配合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格式的数据文件。
读取写入保存excel.zip源码Labview个人项目资料程序资源下载读取写入保存excel.zip源码Labview个人项目资料程序资源下载读取写入保存excel.zip源码Labview个人项目资料程序资源下载读取写入保存excel.zip源码Labview...
基于matlab编写的nrrd医学图像数据读取函数: nrrdread.m nrrdread_std.m
按修改时间读取文件夹下文件.zip源码Labview个人项目资料程序资源下载按修改时间读取文件夹下文件.zip源码Labview个人项目资料程序资源下载按修改时间读取文件夹下文件.zip源码Labview个人项目资料程序资源下载按...
选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar 选择框读取保存模块代码.e.rar
用C++结合MATLAB读取NOAA气象数据.pdf
易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar 易语言保存和读取整数型数组.rar
接下来,我们来看如何读取.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....
易语言源码易语言读取注册表关联图标.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文件...
易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取整数型数组.rar 易语言源码保存和读取...
在MySQL数据库系统中,`.frm`文件是存储表结构的关键文件,它包含了关于数据库表的定义,如字段名、字段类型、索引等信息。当遇到数据库损坏或丢失元数据的情况,`.frm`文件就成为了恢复数据结构的重要资源。本文将...
易语言源码易语言读取卸载列表源码.rar 易语言源码易语言读取卸载列表源码.rar 易语言源码易语言读取卸载列表源码.rar 易语言源码易语言读取卸载列表源码.rar 易语言源码易语言读取卸载列表源码.rar 易语言源码...
易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容源码.rar 易语言源码易语言进度读取文件内容...
易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码模块.rar 易语言源码易语言超速读取网页源码...
易语言源码易语言对象excel读取MDB数据库源码.rar 易语言源码易语言对象excel读取MDB数据库源码.rar 易语言源码易语言对象excel读取MDB数据库源码.rar 易语言源码易语言对象excel读取MDB数据库源码.rar 易语言...
java 写的读取txt、property...等文件的内容保存在list里,希望对大家能得到帮助。