KieBase kBase = getKieBase( kSessionModel.getKieBaseModel().getName() );
if ( kBase == null ) {
log.error("Unknown KieBase name: " + kSessionModel.getKieBaseModel().getName());
return null;
}
KieSession kSession = kBase.newKieSession(getKnowledgeSessionConfiguration(kSessionModel), environment);
wireListnersAndWIHs(kSessionModel, kSession);
KieSession oldSession = kSessions.remove(kSessionName);
if (oldSession != null) {
oldSession.dispose();