@Test public void testKieSessionCustomizationTest() { ExecutableRunner<RequestContext> runner = ExecutableRunner.create(0L); ExecutableBuilder f = ExecutableBuilder.create(); f.newApplicationContext("app1") .getKieContainer(releaseId) .newSessionCustomized(null, ((sessionName, kieContainer) -> { KieSessionModel kieSessionModel = kieContainer.getKieSessionModel(sessionName); kieSessionModel.setConsoleLogger("newConsoleLoggerName"); return kieContainer; })) .insert("h1") .fireAllRules() .getGlobal("outS").out("outS1") .dispose(); RequestContext requestContext = runner.execute(f.getExecutable()); assertEquals("h1", requestContext.getOutputs().get("outS1")); }
@Test public void testDeclarativeKieConsoleLoggerStateless() throws Exception { String drl = "package org.drools.integrationtests\n" + "import org.drools.compiler.Message;\n" + "rule \"Hello World\"\n" + " when\n" + " m : Message( myMessage : message )\n" + " then\n" + "end"; KieServices ks = KieServices.Factory.get(); KieModuleModel kproj = ks.newKieModuleModel(); kproj.newKieBaseModel("KBase1") .newKieSessionModel("KSession1") .setType(KieSessionModel.KieSessionType.STATELESS) .setConsoleLogger("logger"); KieFileSystem kfs = ks.newKieFileSystem(); kfs.writeKModuleXML(kproj.toXML()); kfs.write("src/main/resources/KBase1/rule.drl", drl); KieModule kieModule = ks.newKieBuilder(kfs).buildAll().getKieModule(); KieContainer kieContainer = ks.newKieContainer(kieModule.getReleaseId()); StatelessKieSession ksession = kieContainer.newStatelessKieSession("KSession1"); ksession.execute( new Message("Hello World") ); KieRuntimeLogger logger = ksession.getLogger(); assertNotNull(logger); logger.close(); }
@Test public void testDeclarativeKieConsoleLogger() throws Exception { String drl = "package org.drools.integrationtests\n" + "import org.drools.compiler.Message;\n" + "rule \"Hello World\"\n" + " when\n" + " m : Message( myMessage : message )\n" + " then\n" + "end"; KieServices ks = KieServices.Factory.get(); KieModuleModel kproj = ks.newKieModuleModel(); kproj.newKieBaseModel("KBase1").newKieSessionModel("KSession1").setConsoleLogger("logger"); KieFileSystem kfs = ks.newKieFileSystem(); kfs.writeKModuleXML(kproj.toXML()); kfs.write("src/main/resources/KBase1/rule.drl", drl); KieModule kieModule = ks.newKieBuilder(kfs).buildAll().getKieModule(); KieContainer kieContainer = ks.newKieContainer(kieModule.getReleaseId()); KieSession ksession = kieContainer.newKieSession("KSession1"); ksession.insert( new Message("Hello World") ); int fired = ksession.fireAllRules(); assertEquals(1, fired); KieRuntimeLogger logger = ksession.getLogger(); assertNotNull(logger); logger.close(); }