使用IKVM导致出错

时间:2010-11-16 09:29:28

标签: drools ikvm

我们在用C#编写的客户端上使用Drools引擎。我们正在使用IKVM将drools jar和我们的java bean转换为使用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”类型的对象转换为“FromMemory”类型。

关于可能出错的任何想法?

1 个答案:

答案 0 :(得分:0)

这可能有很多原因。例如classloading问题。它可能是IKVM中的一个错误。等

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

此问题只有debug才能解决。