我正在使用Drools引擎构建警报系统。当满足条件时,我们需要在规则(RHS)的操作上执行由Spring Framework 实例化的@Service方法。
如何获得由Drools规则的动作(RHS)使用的Spring Framework创建的@service实例?
我已遵循以下指示:
关于如何使用它的任何想法?
如
文件:Rule1.drl
package com.mycompany.alerts.Alert;
import function com.mycompany.alerts.service.SecurityService.notifyAlert;
rule "Activate Alert Type"
salience 9000
when
$alert: Alert(type == "TYPE1")
then
System.out.println("Running action:" + drools.getRule().getName());
$alert.setActive(Boolean.TRUE);
notifyAlert($alert.getStatus(),$alert.getSmsNumber());
System.out.println("End action:" + drools.getRule().getName());
end
Run Code Online (Sandbox Code Playgroud)
文件:Rule2.drl
package com.mycompany.alerts.Alert;
global com.mycompany.alerts.service.SecurityService securityService;
rule "Activate Alert Type 2"
salience 9000
when
$alert: Alert(type == "TYPE2")
then
System.out.println("Running action:" + drools.getRule().getName());
$alert.setActive(Boolean.TRUE);
securityService.notifyAlert($alert.getStatus(),$alert.getSmsNumber());
System.out.println("End …Run Code Online (Sandbox Code Playgroud)