- 浏览: 3436492 次
- 性别:
- 来自: China
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
Drools5.2.0.Final与Spring3集成测试
在drools5.2,有一个jar包:drools-spring-5.2.0.Final.jar,其中定义了在spring中应用的drools的扩展。通过这些扩展,可以直接在spring的配置文件中,配置knowledgebase、session等bean,从而在spring配置的程序中直接应用。
drools-spring-5.2.0.Final.jar在droolsjbpm-integration-distribution-5.2.0.Final\binaries文件夹下。
登录例子部分代码:
beans.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <import resource="classpath:com/jsptpd/rjy/zyj/drools/beans-drools.xml"/> </beans>
beans-drools.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:drools="http://drools.org/schema/drools-spring" xmlns:camel="http://camel.apache.org/schema/spring" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://drools.org/schema/drools-spring http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring-1.0.0.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <drools:kbase id="kbase1"> <drools:resources> <!--不是<drools:resource type="DRL" source="classpath:com/jsptpd/rjy/zyj/service/Login.drl"/> --> <drools:resource type="DRL" source="classpath:Login.drl"/> </drools:resources> </drools:kbase> <drools:ksession id="ksession1" type="stateful" kbase="kbase1"/> <bean id="vip" class="com.jsptpd.rjy.zyj.pojo.Vip" /> <bean id="loginService" class="com.jsptpd.rjy.zyj.service.LoginServiceImpl" > <property name="vip" ref="vip" /> </bean> </beans>
LoginTest.java
package com.jsptpd.rjy.zyj.junit; import org.drools.runtime.StatefulKnowledgeSession; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.jsptpd.rjy.zyj.service.LoginServiceImpl; public class LoginTest { @Test public void testLogin(){ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "beans.xml" ); LoginServiceImpl loginServiceImpl= (LoginServiceImpl) context.getBean( "loginService" ); StatefulKnowledgeSession kstateless = (StatefulKnowledgeSession) context.getBean( "ksession1" ); loginServiceImpl.checkLogin(kstateless); System.out.println("aa"); } }
LoginServiceImpl.java
package com.jsptpd.rjy.zyj.service; import org.drools.runtime.StatefulKnowledgeSession; import org.drools.runtime.StatelessKnowledgeSession; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.jsptpd.rjy.zyj.pojo.Vip; public class LoginServiceImpl { private Vip vip; public Vip getVip() { return vip; } public void setVip(Vip vip) { this.vip = vip; } public void checkLogin(StatefulKnowledgeSession kstateless ){ System.out.println("s"); kstateless.insert(vip); kstateless.fireAllRules(); kstateless.dispose(); System.out.println("e"); } public static boolean checkDB(String name,String password){ //实际可以到数据库匹配 return name.trim().equals("jack")&&password.trim().equals("123"); } }
Login.drl
#created on: 2011-10-24 package com.jsptpd.rjy.zyj.service #list any import classes here. import com.jsptpd.rjy.zyj.pojo.Vip; import java.io.Console; import java.util.Scanner; import com.jsptpd.rjy.zyj.service.LoginServiceImpl #declare any global variables here rule "vip初次登录" salience 100 when $vip:Vip((name==null||name=="")&& (password==null||password=="") ) then String tempName; String tempPassword; Console console=System.console(); Scanner scanner = new Scanner(System.in); System.out.print("请输入用户名: "); tempName=(console!=null?console.readLine():scanner.nextLine()); System.out.print("请输入密码: "); tempPassword=(console!=null?new String(console.readPassword()):scanner.nextLine()); $vip.setName(tempName.trim()); $vip.setPassword(tempPassword.trim()); update($vip); end rule "没有输入密码" salience 90 when $vip:Vip((name!=null&&name!="")&& (password==null||password==""),$name:name) then String tempPassword=""; Console console=System.console(); Scanner scanner = new Scanner(System.in); System.out.print("请输入密码: "); tempPassword=(console!=null?new String(console.readPassword()):scanner.nextLine()); $vip.setPassword(tempPassword.trim()); update($vip); end rule "没有输入用户名" salience 90 when $vip:Vip((name==null||name=="")&& (password!=null&&password!=""),$password:password ) then String tempName=""; Scanner scanner = new Scanner(System.in); System.out.print("请输入用户名: "); tempName=scanner.nextLine(); $vip.setName(tempName.trim()); update($vip); end rule "输入正确的用户名和密码" salience 80 when $vip:Vip((name!=null&&name!=""), (password!=null&&password!=""),LoginServiceImpl.checkDB(name,password) ) then System.out.print(" 欢迎 !!!"+$vip.getName()); end rule "输入错误的用户名和密码" salience 80 when $vip:Vip((name!=null&&name!=""), (password!=null&&password!=""),!LoginServiceImpl.checkDB(name,password) ) then System.out.print(" 输入错误用户名或密码,请重新输入 !!!\n"); $vip.setName(""); $vip.setPassword(""); update($vip); end
评论
11 楼
thetazhou
2016-02-29
完全跑不起来啊。求大神指点QQ:407028460
10 楼
zylucky
2016-01-26
yxk790302 写道
onlyor 写道
到处都是错误
将这个 org.drools.runtime 全部修改成为org.kie.internal.runtime 这个就没有错误了我的是基于6.0的 。
你好,能把换成6.0的源码传一份吗,谢谢。。421756439@qq.com
9 楼
晨光流影
2015-10-25
楼主你好,最近在研究drools,在做spring和drools整合的时候遇到一些问题,希望加个Q3208945136指导一下,不胜感激
8 楼
higherzjm
2015-05-18
正在研究spring跟drools的整合方案,兄弟,方便的话加个QQ(353263668)交流下啊
7 楼
wusiyi
2015-04-21
Eclipse8.5运行出错
原因:少了三个jar包:spring.jar, commons-logging.jar, drools-spring-5.5.0.Final.jar
原因:少了三个jar包:spring.jar, commons-logging.jar, drools-spring-5.5.0.Final.jar
6 楼
wanye8086
2015-01-08
6.0.1跑的很好
5 楼
j77201613
2014-10-15
你这个例子不知道怎么跑 是在跑不起来
4 楼
j77201613
2014-10-15
你好 最近我也在做drools和spring的整合,遇到了些问题,方便的话 能否加个QQ跟你请教下问题 77201613
十分感谢
十分感谢
3 楼
yxk790302
2014-03-13
onlyor 写道
到处都是错误
将这个 org.drools.runtime 全部修改成为org.kie.internal.runtime 这个就没有错误了我的是基于6.0的 。
2 楼
onlyor
2014-02-26
到处都是错误
1 楼
ageha67
2012-04-27
请教一下,我在Myeclipse8.5下做drools5.3+spring2.5.6进行集成,在启动tomcat的时候报以下错误,不知道怎么解决?
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'drools:kbase'.
我已经在MyEclipse8.5上配置了XML Catalog为本地的,可是还是报错,不知道楼主有没有处理过?
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'drools:kbase'.
我已经在MyEclipse8.5上配置了XML Catalog为本地的,可是还是报错,不知道楼主有没有处理过?
发表评论
-
spring事务(附件pdf)
2011-12-08 21:27 1643事务传播属性 REQUIRED ... -
java模拟spring ioc
2011-12-08 17:21 2207<?xml version="1.0&q ... -
Spring aop 简单总结
2011-12-08 16:59 2524先用jdk,cglib模拟下: 使用JDK动态代理 //当 ... -
Spring 积累
2011-12-08 17:23 1865三种实例化bean的方式 1.使用类构造器实例化 & ... -
Spring管理filter和servlet,无硬编码bean
2011-10-25 08:23 5265Spring管理filter和servlet,无需硬编码 ... -
使用 Drools 规则引擎实现业务逻辑
2011-10-20 00:29 5026转自:http://www.ibm.com/developer ... -
规则引擎需求(捕捉业务规则需求,将需求转换为规则引擎)
2011-10-19 10:57 5695转自:http://www.ibm.com/dev ... -
Java规则引擎与其API(JSR-94)
2011-10-19 10:02 4206转自:http://www.ibm.com/developer ... -
drools入门(二)-----规则引擎Drools解决汽水问题
2011-10-18 20:27 7575喝汽水问题:1元钱一瓶汽水,喝完后两个空瓶换一瓶汽水,问:你有 ... -
Drools入门-----------环境搭建,分析Helloworld
2011-10-17 15:45 49400Drools官网:http://www.jboss.org/d ... -
Spring 积累
2011-05-29 11:08 61 -
Spring中与Bean相关的接口
2010-11-17 23:27 2824package chapter22; impor ...
相关推荐
此包主要测试drools5.2与spring整合,drools可调用数据库参数 环境准备,mysql/postgres 用到的表及数据见db.sql 修改hibernate.properties对应的参数 运行测试: com/jview/test/testMapping.java ...
drools6.4集成spring项目实例,有问题请邮件576976123qq.com
drools7.5.0和spring 4.3.12集成示例,替换了最新的包,借鉴了csdn另外一个网友的代码,再次基础上做了调整。主要调整了pom.xml,升级了版本
前言: ...三、springboot集成drools 1.pom文件引入依赖 org.drools drools-core 7.0.0.Final org.drools drools-compiler 7.0.0.Final org.drools drools-decisiontabl
快速流口水介绍fast-drools-spring-boot-starter将Drools与Springboot集成在一起,为规则配置和管理提供了更有效,更复杂的模型。 它能够动态更新有关热部署的规则。联系请随时与以下联系人询问我任何问题。 Drools...
NULL 博文链接:https://goodluck-wgw.iteye.com/blog/1766228
spring boot 集成 websocket 来实现页面实时更新前端数据,通知前端来做响应的操作。使用drools来实现规则判断来实现业务逻辑
drools drools drools drools drools
用Spring boot与Drools规则引擎写的Demo,适用于刚接触Drools想要快速入门,熟悉规则建立和使用。
drools集成springboot demo
整合spring和jbmp框架,应用规则流技术。还包括Maven构建,以及jUnit单元测试。
drools
spring boot drools demo spring boot drools demo spring boot drools demo
springboot集成drools实现重新加载规则
外部应用和drools工作平台集成解决方案,在工作平台上管理你自己系统中编写好的规则。
droolsjbpm-integration, Drools和jBPM与 seam,spring,camel的集成. . 开发口水和 jBPM如果你想要构建或者贡献到一个项目,则阅读这里文档 。 我们将通过正确设置开发环境来节省你和我们大量的时间。 它解决了所有...
官网Drools5.3使用手册,有介绍与spring jbpm drools集成等内容
myeclipse安装drools jboss rules规则引擎