25、研究drools时遇到的错误及解决方法

生成POJO类时,如果要生成构造函数的话,在有参或者无参构造函数中一定要写

否则在drl中写

就会报下面这种错误。


2、编写非spring 注入的原始配置文件时 要注意


3、在具体的实现类中,如果keisession 的值与配置文件中的ksession标签的name 值不一样。 会报如下错误


编写时要注意
4、通过maven 整合drools+spring时 要注意:


是否有规则引擎文件 如果没有 就加上。。 否则找不到相关规则引擎,
在pom.xml配置文件也可以写下面这段代码也可以解决spring找不到规则文件的问题
<build>
    <testResources>
        <testResource>
            <directory>
             ${project.basedir}/src/main/resources
          </directory>
        </testResource>
    </testResources>
</build>


5、关于规则流的问题

版本问题
Drools6.4api的话  rf是不支持的
虽然不会抛异常 但会显示

6、关于语法 when 条件中or 的使用  or 在java中会出现短路机制,所以在使用时要注意。如果下面有引用when条件中的属性,要避免or的使用。

7、workbench做依赖关系时 要注意,当A项目被B项目引用时,A项目发生变化后,B项目中所引用的A项目不发生变化
workbench有依赖关系的项目与spring做自动扫描时要注意。
enableScanner="false"  必须要设置成false  
原因:因B项目中的A项目不会因A项目的变化而在B项目的引用中变化,所以在自动扫描时会出现异常,
跟踪源码可以看出,会将AB两个项目中的 kmodule.xml中的kiebase的name加载到spring中,因单例模式的原因,会在

这段代码中出现问题,所以要将是否扫描关闭。

8、关于mysql的问题

远程MYSQL 1103错误 ERROR 1130: Host *.*.*.* is not allowed to connect to  

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
 flush privileges;
9、 在tomcat启动时会有这个异常,虽然不会影响程序启动但总叫人看的不舒服,如何解决这个问题呢, 我们可以通过添加两个jar包: log4j-api-2.1.jar  log4j-slf4j-impl-2.1.jar 在控制台就不会报错了。

10、使用workbench+kie-server时, 如果我们插入(newInsert(Object))的话, 可能产生如下效果:

解决该问题的方法:因为我们一般会将workbench项目中的kie-session 设置成为有状态的,在kie-server里就会导致上述的问题,所以我们要将kiesession设置无状态的,释放facthandle


解决该问题的方法:因为我们一般会将workbench项目中的kie-session 设置成为有状态的,在kie-server里就会导致上述的问题,所以我们要将kiesession设置无状态的,释放facthandle

11、使用workbench 创建的数据对象中,包含有List等集合的时候,一般情况我们都会修改list的 set 方法,但这样就会导致kie-server json 请求方式 反序列化失败的问题  注: xml 请求方式不会出来该问题
解决方法:
在数据对象中新建一个方法, 例如:
public void addList(String name){
    this.list.add(name);
}
在规则中的使用中,通过引用别名 来调用这个方法即可。但要注意,因为在数据对象中不会初始化List 所以我们要在属性里  new  ArrayList();  有泛型 加泛型。

下面是小编的微信转帐二维码,小编再次谢谢读者的支持,小编会更努力的

----请看下方↓↓↓↓↓↓↓

百度搜索 Drools从入门到精通:可下载开源全套Drools教程

深度Drools教程不段更新中:


更多Drools实战陆续发布中………

扫描下方二维码关注公众号 ↓↓↓↓↓↓↓↓↓↓



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值