繁体   English   中英

如何从 DMN model(Drools Business Central)调用 static Java 方法

[英]How do I call static Java method from DMN model (Drools Business Central)

我正在使用 Business Central 版本 7.40.0。 从 Drools Business Central DMN 项目/模型调用 static Java 方法std时,我收到以下错误:

DMN: Error compiling Java function 'stdev' on node 'stdev': Error resolving external function as defined by: function(val) external { java: { class: ""com.sample.StandardDeviation"", method signature: ""std(java.lang.Number)"" }}...
Error compiling the referenced FEEL expression

我有:

  1. 使用 static 方法 ZD52387880E1EA22817172D375921
package com.sample;

import java.math.BigDecimal;
    
public class StandardDeviation {
    
    public static BigDecimal std(Number val) {  
        return new BigDecimal(val.doubleValue() * 2);
    }
}
  1. 将 Jar 作为工件导入 Drools Business Central

  2. 增加了对 DMN 项目的依赖

  3. 在我的 DMN model 中,我在“stdev”BKM(业务知识模型)元素中调用 static Java 方法。 带有 class 和方法签名的 BKM

    • class: "com.sample.StandardDeviation"
    • 方法签名: "std(java.lang.Number)"
  4. 保存 BKM/DMN 或构建 model 会出现上述错误

可能是什么问题? 我做错了什么吗? 如何查看 Drools Business Central 中的日志?

我们知道这个问题,因为它在DROOLS-5577中报告过

解决方法存在于单独的论坛中讨论并在 JIRA 问题中进行了详细说明,后来由 OP 确认如下:

  1. 使用编辑器保存 DMN Model 时忽略此验证错误(红色弹出窗口)
  2. 像往常一样继续部署 KJAR BC 项目

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM