0

C# で記述されたクライアントで Drools エンジンを使用しています。IKVM を使用して、IKVM を使用して drools jar と Java Bean を 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」にキャストできません。

何がうまくいかないのかについてのアイデアはありますか?

4

1 に答える 1

0

これには多くの原因が考えられます。たとえば、クラスローディングの問題。これは、IKVM のバグである可能性があります。等

ここで役立つ回答が得られるとは思いません。IKVM のバージョン、dll のコンパイル方法、問題を示す実行可能なサンプルなど、多くの詳細を IKVM のメーリング リストに連絡する必要があります。

この問題は、デバッグする場合にのみ解決できます。

于 2010-11-17T19:47:57.927 に答える