@Override public Globals getGlobals() { return kieSession.getGlobals(); }
@Override public Globals getGlobals() { return kieSession.getGlobals(); }
public Globals getGlobals() { return kieSession.getGlobals(); }
private KieSession marsallStatefulKnowledgeSession(KieSession ksession) throws IOException, ClassNotFoundException { Globals globals = ksession.getGlobals(); KieBase kbase = ksession.getKieBase(); ByteArrayOutputStream out = new ByteArrayOutputStream(); MarshallerFactory.newMarshaller( kbase ).marshall( out, ksession ); KieSessionConfiguration ksconf = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(); ksconf.setOption( TimerJobFactoryOption.get("trackable") ); ksconf.setOption( ClockTypeOption.get( "pseudo" ) ); Environment env = EnvironmentFactory.newEnvironment(); env.set( EnvironmentName.GLOBALS, globals ); ksession = MarshallerFactory.newMarshaller( kbase ).unmarshall( new ByteArrayInputStream( out.toByteArray() ), ksconf, env ); return ksession; }
final long time = ksession.getSessionClock().getCurrentTime(); ksession.getEnvironment().set(EnvironmentName.GLOBALS, ksession.getGlobals());
public RulesEngine(Map<String, Object> externalGlobals) { ksession = createKSession(KIE_SESSION); Map<String, Object> globals = buildGlobalsMaps(); if (! externalGlobals.isEmpty() ) globals.putAll(externalGlobals); globals.entrySet().forEach(e -> ksession.getGlobals().set(e.getKey(), e.getValue())); }
public RulesEngine(Map<String, Object> externalGlobals,AphroditeClient client) { ksession = createKSession(KIE_SESSION); Map<String, Object> globals = extractRulesGlobalsFrom(client); if (! externalGlobals.isEmpty() ) globals.putAll(externalGlobals); globals.entrySet().forEach(e -> ksession.getGlobals().set(e.getKey(), e.getValue())); }
/** * Gets the wrapped globals. * @return the globals */ public Globals getSessionGlobals() { return isRemote() ? null : getKieSession().getGlobals(); }
/** * Gets the wrapped globals. * @return the globals */ public Globals getSessionGlobals() { return isRemote() ? null : getKieSession().getGlobals(); }
@Override public Globals getGlobals() { if (isStateless()) { return getStatelessKieSession().getGlobals( ); } else { return getKieSession().getGlobals( ); } }
@Override public Globals getGlobals() { if (isStateless()) { return getStatelessKieSession().getGlobals( ); } else { return getKieSession().getGlobals( ); } }
@Test public void testStatefulKnowledgeThreadedFileLogger() throws Exception { KieSession statefulSession = (KieSession) context.getBean("ThreadedFileLogger-statefulSession"); assertNotNull(statefulSession.getGlobals().get("persons")); StatefulKnowledgeSessionImpl impl = (StatefulKnowledgeSessionImpl) statefulSession; for (Object listener : impl.getRuleRuntimeEventListeners()) { assertTrue(listener instanceof ThreadedWorkingMemoryFileLogger); } LoggerAdaptor adaptor = (LoggerAdaptor) context.getBean("sf_tfl_logger"); assertNotNull(adaptor); assertNotNull(adaptor.getRuntimeLogger()); }
@Test public void testStatefulKnowledgeFileLogger() throws Exception { KieSession statefulSession = (KieSession) context.getBean("FileLogger-statefulSession"); assertNotNull(statefulSession.getGlobals().get("persons")); StatefulKnowledgeSessionImpl impl = (StatefulKnowledgeSessionImpl) statefulSession; for (Object listener : impl.getRuleRuntimeEventListeners()) { assertTrue(listener instanceof WorkingMemoryFileLogger); } LoggerAdaptor adaptor = (LoggerAdaptor) context.getBean("sf_fl_logger"); assertNotNull(adaptor); assertNotNull(adaptor.getRuntimeLogger()); }
@Test public void testStatefulKnowledgeThreadedFileLogger() throws Exception { KieSession statefulSession = (KieSession) context.getBean("ThreadedFileLogger-statefulSession"); assertNotNull(statefulSession.getGlobals().get("persons")); StatefulKnowledgeSessionImpl impl = (StatefulKnowledgeSessionImpl) statefulSession; for (Object listener : impl.getRuleRuntimeEventListeners()) { assertTrue(listener instanceof ThreadedWorkingMemoryFileLogger); } LoggerAdaptor adaptor = (LoggerAdaptor) context.getBean("sf_tfl_logger"); assertNotNull(adaptor); assertNotNull(adaptor.getRuntimeLogger()); }
@Test public void testStatefulKnowledgeFileLogger() throws Exception { KieSession statefulSession = (KieSession) context.getBean("FileLogger-statefulSession"); assertNotNull(statefulSession.getGlobals().get("persons")); StatefulKnowledgeSessionImpl impl = (StatefulKnowledgeSessionImpl) statefulSession; for (Object listener : impl.getRuleRuntimeEventListeners()) { assertTrue(listener instanceof WorkingMemoryFileLogger); } LoggerAdaptor adaptor = (LoggerAdaptor) context.getBean("sf_fl_logger"); assertNotNull(adaptor); assertNotNull(adaptor.getRuntimeLogger()); }
@Test public void testStatefulKnowledgeThreadedFileLogger() throws Exception { KieSession statefulSession = (KieSession) context.getBean( "ThreadedFileLogger-statefulSession" ); assertNotNull(statefulSession.getGlobals().get("list")); StatefulKnowledgeSessionImpl impl = (StatefulKnowledgeSessionImpl)statefulSession; for ( Object listener : impl.session.getWorkingMemoryEventListeners()) { assertTrue(listener instanceof ThreadedWorkingMemoryFileLogger); } KnowledgeLoggerAdaptor adaptor = (KnowledgeLoggerAdaptor) context.getBean("sf_tfl_logger"); assertNotNull(adaptor); assertNotNull(adaptor.getRuntimeLogger()); statefulSession.dispose(); }
@Test public void testStatefulKnowledgeFileLogger() throws Exception { KieSession statefulSession = (KieSession) context.getBean( "FileLogger-statefulSession" ); assertNotNull(statefulSession.getGlobals().get("list")); StatefulKnowledgeSessionImpl impl = (StatefulKnowledgeSessionImpl)statefulSession; for ( Object listener : impl.session.getWorkingMemoryEventListeners()) { assertTrue(listener instanceof WorkingMemoryFileLogger); } KnowledgeLoggerAdaptor adaptor = (KnowledgeLoggerAdaptor) context.getBean("sf_fl_logger"); assertNotNull(adaptor); assertNotNull(adaptor.getRuntimeLogger()); statefulSession.dispose(); }
private KieSession marsallStatefulKnowledgeSession(KieSession ksession) throws IOException, ClassNotFoundException { Globals globals = ksession.getGlobals(); KieBase kbase = ksession.getKieBase(); ByteArrayOutputStream out = new ByteArrayOutputStream(); MarshallerFactory.newMarshaller( kbase ).marshall( out, ksession ); KieSessionConfiguration ksconf = KnowledgeBaseFactory.newKnowledgeSessionConfiguration(); ksconf.setOption( TimerJobFactoryOption.get("trackable") ); ksconf.setOption( ClockTypeOption.get( "pseudo" ) ); Environment env = EnvironmentFactory.newEnvironment(); env.set( EnvironmentName.GLOBALS, globals ); ksession = MarshallerFactory.newMarshaller( kbase ).unmarshall( new ByteArrayInputStream( out.toByteArray() ), ksconf, env ); return ksession; }