private void replicatedWarRedeployTest(boolean fullRestart)
throws Exception
{
++testCount;
DataSourcePersistentManager mgr0 = PersistentSessionTestUtil.createManager("test" + testCount, 300, null);
PersistentSessionTestUtil.configureManager(mgr0, 1, true, 30, 1);
mgr0.start();
assertTrue("Passivation is enabled", mgr0.isPassivationEnabled());
assertEquals("Correct max active count", 1, mgr0.getMaxActiveAllowed());
assertEquals("Correct max idle time", 30, mgr0.getPassivationMaxIdleTime());
assertEquals("Correct min idle time", 1, mgr0.getPassivationMinIdleTime());
DataSourcePersistentManager mgr1 = PersistentSessionTestUtil.createManager("test" + testCount, 300, null);
PersistentSessionTestUtil.configureManager(mgr1, 1, true, 30, 1);
mgr1.start();
assertTrue("Passivation is enabled", mgr1.isPassivationEnabled());
assertEquals("Correct max active count", 1, mgr1.getMaxActiveAllowed());
assertEquals("Correct max idle time", 30, mgr1.getPassivationMaxIdleTime());
assertEquals("Correct min idle time", 1, mgr1.getPassivationMinIdleTime());
// Set up a session
createAndUseSession(mgr0, "1", true, true);
assertEquals("Session count correct", 1, mgr0.getActiveSessionCount());
assertEquals("Local session count correct", 1, mgr0.getLocalActiveSessionCount());
assertEquals("Session count correct", 0, mgr1.getActiveSessionCount());
assertEquals("Local session count correct", 0, mgr1.getLocalActiveSessionCount());
// Create a 2nd
createAndUseSession(mgr1, "2", true, true);
assertEquals("Session count correct", 1, mgr0.getActiveSessionCount());
assertEquals("Local session count correct", 1, mgr0.getLocalActiveSessionCount());
assertEquals("Created session count correct", 1, mgr0.getCreatedSessionCount());
assertEquals("Expired session count correct", 0, mgr0.getExpiredSessionCount());
assertEquals("Session count correct", 1, mgr1.getActiveSessionCount());
assertEquals("Local session count correct", 1, mgr1.getLocalActiveSessionCount());
assertEquals("Created session count correct", 1, mgr1.getCreatedSessionCount());
assertEquals("Expired session count correct", 0, mgr1.getExpiredSessionCount());
// Sleep past minIdleTime
SessionTestUtil.sleepThread(1100);
assertEquals("Passivated session count correct", 0, mgr1.getPassivatedSessionCount());
createAndUseSession(mgr1, "3", true, true);
assertEquals("Session count correct", 1, mgr0.getActiveSessionCount());
assertEquals("Local session count correct", 1, mgr0.getLocalActiveSessionCount());
assertEquals("Created session count correct", 1, mgr0.getCreatedSessionCount());
assertEquals("Expired session count correct", 0, mgr0.getExpiredSessionCount());
assertEquals("Passivated session count correct", 0, mgr0.getPassivatedSessionCount());
// mgr1 only has 1 active since it passivated one when it created #3
assertEquals("Session count correct", 1, mgr1.getActiveSessionCount());
assertEquals("Local session count correct", 1, mgr1.getLocalActiveSessionCount());
assertEquals("Created session count correct", 2, mgr1.getCreatedSessionCount());
assertEquals("Expired session count correct", 0, mgr1.getExpiredSessionCount());
assertEquals("Passivated session count correct", 1, mgr1.getPassivatedSessionCount());
if (fullRestart)
{
mgr1.stop();
}
mgr0.stop();
mgr0 = PersistentSessionTestUtil.createManager("test" + testCount, 300, null);
PersistentSessionTestUtil.configureManager(mgr0, 1, true, 30, 1);
mgr0.start();
assertTrue("Passivation is enabled", mgr0.isPassivationEnabled());
assertEquals("Correct max active count", 1, mgr0.getMaxActiveAllowed());
assertEquals("Correct max idle time", 30, mgr0.getPassivationMaxIdleTime());
assertEquals("Correct min idle time", 1, mgr0.getPassivationMinIdleTime());
// int expected = (totalReplication && marshalling && fullRestart) ? 0 : 2;
int expected = 2;
assertEquals("Session count correct", 0, mgr0.getActiveSessionCount());
assertEquals("Local session count correct", 0, mgr0.getLocalActiveSessionCount());
assertEquals("Created session count correct", 0, mgr0.getCreatedSessionCount());
assertEquals("Expired session count correct", 0, mgr0.getExpiredSessionCount());
// expected = (totalReplication && !(marshalling && fullRestart)) ? 1 : 0;
expected = 1;
assertEquals("Passivated session count correct", 0, mgr0.getPassivatedSessionCount());
if (!fullRestart)
{
assertEquals("Session count correct", 1, mgr1.getActiveSessionCount());
assertEquals("Local session count correct", 1, mgr1.getLocalActiveSessionCount());
assertEquals("Created session count correct", 2, mgr1.getCreatedSessionCount());
assertEquals("Expired session count correct", 0, mgr1.getExpiredSessionCount());
assertEquals("Passivated session count correct", 1, mgr1.getPassivatedSessionCount());
}
// Sleep past minIdleTime
SessionTestUtil.sleepThread(1100);
createAndUseSession(mgr0, "4", true, true);