Я планирую создать динамический объект на основе полезной нагрузки 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();
Любые предложения будут высоко оценены!:)