gpt4 book ai didi

java - 声明类类型实例变量并在 Esper 中调用实例方法时未调用实例方法

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

我正在编写一个应用程序,该应用程序具有包含 esper 引擎的类的实例。我想使用引擎中 EPL 的实例方法调用来读取和设置许多实例变量。我没有收到任何编译错误并且代码可以运行。但实例方法没有被调用。

EPL 声明:

module myModule;
create variable com.tp.main.MyClass myClass;
select myProperty from MyEvent unidirectional, method:myClass.getMyProperty() as myProperty;

一个提示可能是,如果我不在方法调用前面使用 method: 关键字,我会收到一条错误,指出找不到 myClass.getMyProperty 类。文档有时使用 method: 关键字,有时不在从类类型变量调用实例方法的示例中。

我还尝试使用 API 中的 addVariable 方法,得到了相同的结果。

方法代码。

public Result getMyProperty() {
Result result = new Result();
result.setResult("propertyValue");
logger.info("This method was called");
return result;
}

类 Result 是一个带有字符串 getter 和 setter 的 POJO。

public class Result {
private String result;

public String getResult() {
return result;
}
public void setResult(String str) {
result = str;
}
}

我错过了什么?

最佳答案

您可以查看回归测试类。您可能想要查看的特定变量是 ExecFromClauseMethodVariable。也许您的代码没有为变量赋值?

Github: https://github.com/espertechinc/esper/blob/3e396d77308532b202ee452100eaaf9e7a044906/esper-regression/src/test/java/com/espertech/esper/regression/epl/fromclausemethod/ExecFromClauseMethodVariable.java

关于java - 声明类类型实例变量并在 Esper 中调用实例方法时未调用实例方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51298292/

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