При инициализации Drools и kiesession все работает отлично.
kieSession.insert(Event) [this is a CEP app]
работает хорошо, но я не могу инициализировать EntryPoint.
EntryPoint ep = kieSession.getEntryPoint("My EntryPoint")
всегда возвращает NULL.
Нужно ли как-то инициализировать точку входа?Я пришел к выводу, что моя kiSession не имеет EntryPoint с именем «MyEntryPoint» и getEntryPoint () не создает его, поэтому он всегда возвращает NULL.
KieServices kieServices = KieServices.Factory.get();
// Load KieContainer from resources on classpath (i.e. kmodule.xml and rules).
KieContainer kieContainer = kieServices.getKieClasspathContainer();
KieBaseConfiguration config = kieServices.newKieBaseConfiguration();
config.setOption(EventProcessingOption.STREAM);
// Initializing KieSession.
LOGGER.info("Creating KieSession.");
kieSession = kieContainer.newKieSession("ksession-rules");
kieSession.addEventListener(new DebugEventListener());
// Collection<KiePackage> x = kieSession.getKieBase().getKiePackages();
DroolsActionHandler drlActionHandler = new DroolsActionHandler();
// kieSession.insert(drlActionHandler);
kieSession.setGlobal("drlActionHandler", drlActionHandler);
samplingStream = kieSession.getEntryPoint("StufaSampingStream");
<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.drools.org/xsd/kmodule">
<kbase name="rules" equalsBehavior="equality" eventProcessingMode="stream" default="true" packages="resources.rules.actuators">
<ksession name="ksession-rules" default="true" type="stateful" clockType="pseudo">
<!-- <fileLogger file="/var/log/sintechs/drools" threaded="true" interval="10"/> -->
</ksession>
</kbase>
</kmodule>
samplingStream всегда возвращает Null
.