gpt4 book ai didi

java - 从 Drools 规则调用 java 方法

转载 作者:行者123 更新时间:2023-11-30 06:04:03 26 4
gpt4 key购买 nike

我想创建一个 Drools 规则,规定如果我使用 HTTP 请求收集的数据的 CPU 使用率超过特定阈值(例如 20%),则调用位于类 Netdata< 上的函数 也传递给 Drools Fusion。所以到目前为止我写的是:

rule "CPU usage over 20% once"
when
$cpu : Netdata(cpuUsagePerc > 0)
from entry-point Netdata
then
System.out.println("CPU usage is now over 20%");
$cpu.setCpuOverCount();
end

但问题是,我收到此错误:java.lang.RuntimeException:错误的类格式。如果我删除此行 $cpu.setCpuOverCount(); 规则将执行,并打印 CPU 使用率现在超过 20% 没有任何问题。

我尝试调用的方法是这个:

public void setCpuOverCount() {
cpuOverCount++;
}

有没有办法首先调用一个方法,如果有,我该怎么做?如果没有,我该如何克服这些问题?我使用的是 Drools 版本 5.1.1。

最佳答案

这可能是由于 ECJ 版本不支持您的 Java 版本 per this answer 。您可以尝试手动更新ECJ版本:

<dependency>
<groupId>org.eclipse.jdt.core.compiler</groupId>
<artifactId>ecj</artifactId>
<version>>4.5.1</version> <!-- latest is 4.6.1 -->
</dependency>

关于java - 从 Drools 规则调用 java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51723978/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com