Drools 5 work with Gunvor

Drools 5.0 Guvnor 实战
本文介绍了一次从 Drools 4.0.7 迁移到 Drools 5.0 Guvnor 的实战经历,解决了原有 brms 使用中遇到的问题,并详细记录了配置及 Java 类实现过程。

之前使用Drools 4.0.7 知道brms ,发现brms不怎么好用!

 

昨天被问到Drools 5 的怎么用,关于gunvor的,一直都报错!

 

狠下心来,不要了原先的 jboss-4.2.3.GA 重新下载了个:drools-5.0-guvnor-standalone.zip

 

修改:

 

chen.properties

 

newInstance=true
#dir=src/main/rules
#url=http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/com.chen.rules/LATEST

url=http\://localhost\:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
#url

 

java类:

package com.sample;

import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
import org.drools.RuleBase;
import org.drools.StatefulSession;
import org.drools.agent.RuleAgent;
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();
   RuleBase base=readKnowledgeBase();
   StatefulSession ksession = base.newStatefulSession();
   
   // go !
   Message message = new Message();
   message.setMessage("Hello World");
   message.setStatus(Message.HELLO);
   ksession.insert(message);
   ksession.fireAllRules();
   
  } catch (Throwable t) {
   t.printStackTrace();
  }
 }

 private static RuleBase readKnowledgeBase() throws Exception {
/*  KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
  kbuilder.add(ResourceFactory.newClassPathResource("Sample.drl"), ResourceType.DRL);
  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());*/
  
  //新写的代码
  RuleAgent agent=RuleAgent.newRuleAgent("/chen.properties");
  RuleBase kbase=agent.getRuleBase();
  
 
  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;
  }
  
 }

}

 

Gunvor视图:

视图

 

结构:

结构

 

结果输出:

RuleAgent(default) INFO (Thu Oct 15 01:27:56 CST 2009): Configuring with newInstance=true, secondsToRefresh=-1
RuleAgent(default) INFO (Thu Oct 15 01:27:56 CST 2009): Configuring package provider : URLScanner monitoring URLs: 
http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
RuleAgent(default) INFO (Thu Oct 15 01:28:05 CST 2009): Applying changes to the rulebase.
RuleAgent(default) INFO (Thu Oct 15 01:28:05 CST 2009): Creating a new rulebase as per settings.
RuleAgent(default) INFO (Thu Oct 15 01:28:05 CST 2009): Adding package called mortgages

 

Yes!

夜深了,烦闷地沉睡...

 有一天我会长大

【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值