これまでステートフル セッション (KieSession) を使用してきましたが、Scala といくつかの Java ラッパーを使用してプロジェクトを希望どおりに実行することができました。現在、StatelessKieSessions に切り替えようとしています。私が見つけたドキュメントに基づいて、私はオブジェクト/コレクションをセッションに挿入し、それらのルールを起動し、事実を更新するために以下を実行することができました:
val cmd = CommandFactory.newInsert(myObject, "myObject")
val result = ksession.execute(cmd)
(クラス org.drools.core.common.DefaultFactHandle のもの)を印刷するresult
と、目的のファクトの構造が表示され、期待どおりに更新され、前に「ファクト 0:1:2050275256:1971742898:2:デフォルト:NON_TRAIT:"
ドキュメントには、次のようなものを書くことができるはずだと書かれてresult.getValue("myObject")
いますが、このオプションは Scala では利用できないようです。( https://docs.jboss.org/drools/release/6.0.0.Beta1/kie-api-javadoc/org/kie/api/runtime/StatelessKieSession.html )
Scala-Drools の相互運用性が完全には提供されていないことは理解していますが、StatelessKieSession またはそれを含む DefaultFactHandle 内から更新されたファクトを抽出する方法を知っている人はいますか?