KieContainer kieContainer = ks.newKieContainer( releaseId1 );
KieContainer kieContainer2 = ks.newKieContainer( releaseId1 );
KieSession ksession = kieContainer.newKieSession();
ksession.insert( new Message( "Hello World" ) );
assertEquals( 2, ksession.fireAllRules() );
ReleaseId releaseId2 = ks.newReleaseId( "org.kie", "test-delete", "1.0.1" );
km = createAndDeployJar( ks, releaseId2, null, drl2 );
kieContainer.updateToVersion( releaseId2 );
// test with the old ksession ...
ksession.insert( new Message( "Hello World" ) );
assertEquals( 1, ksession.fireAllRules() );
// ... and with a brand new one
ksession = kieContainer.newKieSession();
ksession.insert( new Message( "Hello World" ) );
assertEquals( 1, ksession.fireAllRules() );
// check that the second kieContainer hasn't been affected by the update of the first one
KieSession ksession2 = kieContainer2.newKieSession();
ksession2.insert( new Message( "Hello World" ) );
assertEquals( 2, ksession2.fireAllRules() );
}