2016-07-05 2 views
0

次のリンクで使用できるコードを使用しました.MarshallとUnmarshallのDroolsセッションを参照できますか。メソッドのgetSerialisedStatefulKnowledgeSessionを使用しDrools KnowledgeSessionをマーシャリングできません

http://www.programcreek.com/java-api-examples/index.php?source_dir=droolsjbpm-master/drools-compiler/src/test/java/org/drools/integrationtests/SerializationHelper.java

メソッドの最初の行に次のエラーが表示されます。コードの

ライン:

Marshaller marshaller = MarshallerFactory.newMarshaller(ksession.getKnowledgeBase(),(ObjectMarshallingStrategy[])ksession.getEnvironment().get(EnvironmentName.OBJECT_MARSHALLING_STRATEGIES)); 

エラー:

java.lang.ClassCastException: [Lorg.kie.api.marshalling.ObjectMarshallingStrategy; cannot be cast to [Lorg.drools.marshalling.ObjectMarshallingStrategy; at com.sample.SessionMarshall.getSerialisedStatefulKnowledgeSession(SessionMarshall.java:105) at com.sample.DroolsTest.main(DroolsTest.java:36)

誰かがどのように私はこれらのエラーを解決することができ、私を提案してくださいすることができます。 誰かがdroolsセッションをMarshallに提供することができますか?私はDroolsのを使用している

答えて

0

は6.2+

のバージョンをjarファイル下図のように、私はバージョン5.4.0および関連ジャーバージョンに私のDroolsのjarファイルを変更したら、問題が解決されました。

drools-compiler-5.4.0.Final、 drools-core-5.4.0.Final、 knowledge-api-5.4.0.Final、 knowledge-internal-api-5.4.0.Final

mvel2-2.1.0.drools16, protobuf-java-2.4.1、 antlr-runtime-3.3

関連する問題