IKVM 出现 Drools 错误

发布于 2024-10-03 09:36:45 字数 709 浏览 4 评论 0原文

我们在客户端上使用用 C# 编写的 Drools 引擎。我们正在使用 IKVM 将 drools jar 和我们的 java beans 转换为使用 IKVM 的 dll。我们有一个与此类似的规则:-

rule "aggregate rule"
    when 
        $b : Bill(billAmount > 100)
        $n : Number(doubleValue > 100) from accumulate ( $l : LineItem() from $b.findItems("color", "blue"), sum($l.getSellingValue()))
    then
        VoucherSeries fact0 = new VoucherSeries();
        fact0.setSeriesCode( "aggregate voucher" );
        insert(fact0 );
        voucherlist.add(fact0);
        System.out.println("sum" + $n);
end

当使用基于 java 的 drools API 运行时,该规则工作正常,但是在使用 IKVM 转换的 drools 运行时,它会抛出以下错误:-

无法将类型为“AccumulateMemory”的对象转换为类型“来自记忆”。

关于可能出什么问题有什么想法吗?

We are using Drools engine on our client written in C#. We are using IKVM to convert the drools jar and our java beans into dll's using IKVM. We are a rule similar to this:-

rule "aggregate rule"
    when 
        $b : Bill(billAmount > 100)
        $n : Number(doubleValue > 100) from accumulate ( $l : LineItem() from $b.findItems("color", "blue"), sum($l.getSellingValue()))
    then
        VoucherSeries fact0 = new VoucherSeries();
        fact0.setSeriesCode( "aggregate voucher" );
        insert(fact0 );
        voucherlist.add(fact0);
        System.out.println("sum" + $n);
end

This rule works fine when it is run with java based drools API's, but while running it with IKVM converted drools, it throws the following error:-

Unable to cast object of type 'AccumulateMemory' to type 'FromMemory'.

Any ideas on what might be going wrong ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

镜花水月 2024-10-10 09:36:45

这可能有很多原因。例如类加载问题。这可能是 IKVM 中的错误。等等。

我认为您不会在这里收到有用的答案。您应该联系 IKVM 的邮件列表,提供许多详细信息,例如 IKVM 版本、如何编译 dll、演示问题的可运行示例。

这个问题只有调试才能解决。

This can have many causes. For example a classloading problem. It can be a bug in IKVM. etc.

I think not that you will receive a helpful answer here. You should contact the mailing list from IKVM with many details like the IKVM version, how you have compiled the dlls, a runnable sample to demonstrate the problem.

This problem you can only solve if you debug it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文