Обрушивает ошибку ksession.insert при использовании объекта Fact - PullRequest
0 голосов
/ 19 ноября 2018

Я планирую создать динамический объект на основе полезной нагрузки JSON с использованием FactTemplate вместо POJO, но я получаю ошибку при вставке Fact org.drools.core.facttemplates.Fact в базу знаний.

java.lang.NullPointerException в org.drools.core.phreak.PropagationEntry $ Insert.execute (PropagationEntry.java:134) в org.drools.reteoo.common.RetePropagationList.addEntry (RetePropagationList.java:36) в org.impl.в org.drools.core.common.NamedEntryPoint.insert (NamedEntryPoint.java:278) в org.drools.core.common.NamedEntryPoint.insert (NamedEntryPoint.java:239) в org.drools.core.impl.StatefulKnowledgeSsertIession(StatefulKnowledgeSessionImpl.java:1535) в org.drools.reteoo.common.ReteWorkingMemory.insert (ReteWorkingMemory.java:285) в org.drools.core.impl.StatefulKnowledgeSessionImpl.insert (StatefulKnowledgeSessionImpl.java:1481) в org.drools.impl.adapters.KnowledgeRuntimeAdapter.insert (KnowledgeRuntimeAdapter.javapex3).DroolsMain.main (DroolsMain.java:100)

Вот мой код:

InternalKnowledgePackage pkg = new KnowledgePackageImpl("test");
final FieldTemplate ft = new FieldTemplateImpl( "person",
                0,
                String.class );

final FieldTemplate[] fields1 = new FieldTemplate[]{ft};

final FactTemplate factTemplate = new FactTemplateImpl( pkg,
                "PersonDetails",
                fields1 );


 final Fact personFact = factTemplate.createFact( 10 );
 personFact.setFieldValue( "person",
       "NAMEE!!" );

 ksession.insert(personFact);

 ksession.fireAllRules();

Любые предложения будут высоко оценены!:)

...