Java Code Examples for org.apache.catalina.Context#setDistributable()

The following examples show how to use org.apache.catalina.Context#setDistributable() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TestStandardSessionIntegration.java    From Tomcat8-Source-Read with MIT License 6 votes vote down vote up
private void doTestInvalidate(boolean useClustering) throws Exception {
    // Setup Tomcat instance
    Tomcat tomcat = getTomcatInstance();

    // No file system docBase required
    Context ctx = tomcat.addContext("", null);

    Tomcat.addServlet(ctx, "bug56578", new Bug56578Servlet());
    ctx.addServletMappingDecoded("/bug56578", "bug56578");

    if (useClustering) {
        tomcat.getEngine().setCluster(new SimpleTcpCluster());
        ctx.setDistributable(true);
        ctx.setManager(ctx.getCluster().createManager(""));
    }
    tomcat.start();

    ByteChunk res = getUrl("http://localhost:" + getPort() + "/bug56578");
    Assert.assertEquals("PASS", res.toString());
}
 
Example 2
Source File: TestStandardSessionIntegration.java    From Tomcat7.0.67 with Apache License 2.0 6 votes vote down vote up
private void doTestInvalidate(boolean useClustering) throws Exception {
    // Setup Tomcat instance
    Tomcat tomcat = getTomcatInstance();

    // No file system docBase required
    Context ctx = tomcat.addContext("", null);

    Tomcat.addServlet(ctx, "bug56578", new Bug56578Servlet());
    ctx.addServletMapping("/bug56578", "bug56578");

    if (useClustering) {
        tomcat.getEngine().setCluster(new SimpleTcpCluster());
        ctx.setDistributable(true);
        ctx.setManager(ctx.getCluster().createManager(""));
    }
    tomcat.start();

    ByteChunk res = getUrl("http://localhost:" + getPort() + "/bug56578");
    Assert.assertEquals("PASS", res.toString());
}
 
Example 3
Source File: TestStandardSessionIntegration.java    From tomcatsrc with Apache License 2.0 6 votes vote down vote up
private void doTestInvalidate(boolean useClustering) throws Exception {
    // Setup Tomcat instance
    Tomcat tomcat = getTomcatInstance();

    // No file system docBase required
    Context ctx = tomcat.addContext("", null);

    Tomcat.addServlet(ctx, "bug56578", new Bug56578Servlet());
    ctx.addServletMapping("/bug56578", "bug56578");

    if (useClustering) {
        tomcat.getEngine().setCluster(new SimpleTcpCluster());
        ctx.setDistributable(true);
        ctx.setManager(ctx.getCluster().createManager(""));
    }
    tomcat.start();

    ByteChunk res = getUrl("http://localhost:" + getPort() + "/bug56578");
    Assert.assertEquals("PASS", res.toString());
}
 
Example 4
Source File: TestPersistentManagerIntegration.java    From Tomcat8-Source-Read with MIT License 4 votes vote down vote up
@Test
public void backsUpOnce_56698() throws IOException, LifecycleException,
        InterruptedException {

    // Setup Tomcat instance
    Tomcat tomcat = getTomcatInstance();

    // No file system docBase required
    Context ctx = tomcat.addContext("", null);
    ctx.setDistributable(true);

    Tomcat.addServlet(ctx, "DummyServlet", new DummyServlet());
    ctx.addServletMappingDecoded("/dummy", "DummyServlet");

    PersistentManager manager = new PersistentManager();
    TesterStore store = new TesterStore();

    manager.setStore(store);
    manager.setMaxIdleBackup(0);
    ctx.setManager(manager);
    tomcat.start();
    String sessionId = getUrl("http://localhost:" + getPort() + "/dummy")
            .toString();

    // Note: PersistenceManager.findSession() silently updates
    // session.lastAccessedTime, so call it only once before other work.
    Session session = manager.findSession(sessionId);

    // Wait until request processing ends, as Request.recycle() updates
    // session.lastAccessedTime via session.endAccess().
    waitWhileSessionIsActive((StandardSession) session);

    long lastAccessedTime = session.getLastAccessedTimeInternal();

    // Session should be idle at least for 0 second (maxIdleBackup)
    // to be eligible for persistence, thus no need to wait.

    // Waiting a bit, to catch changes in last accessed time of a session
    waitForClockUpdate();

    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId), store.getSavedIds());
    Assert.assertEquals(lastAccessedTime, session.getLastAccessedTimeInternal());

    // session was not accessed, so no save will be performed
    waitForClockUpdate();
    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId), store.getSavedIds());
    Assert.assertEquals(lastAccessedTime, session.getLastAccessedTimeInternal());

    // access session
    session.access();
    session.endAccess();

    // session was accessed, so it will be saved once again
    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId, sessionId),
            store.getSavedIds());

    // session was not accessed, so once again no save will happen
    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId, sessionId),
            store.getSavedIds());
}
 
Example 5
Source File: TestPersistentManagerIntegration.java    From tomcatsrc with Apache License 2.0 4 votes vote down vote up
@Test
public void backsUpOnce_56698() throws IOException, LifecycleException,
        InterruptedException {

    // Setup Tomcat instance
    Tomcat tomcat = getTomcatInstance();

    // No file system docBase required
    Context ctx = tomcat.addContext("", null);
    ctx.setDistributable(true);

    Tomcat.addServlet(ctx, "DummyServlet", new DummyServlet());
    ctx.addServletMapping("/dummy", "DummyServlet");

    PersistentManager manager = new PersistentManager();
    TesterStore store = new TesterStore();

    manager.setStore(store);
    manager.setMaxIdleBackup(0);
    ctx.setManager(manager);
    tomcat.start();
    String sessionId = getUrl("http://localhost:" + getPort() + "/dummy")
            .toString();

    // Note: PersistenceManager.findSession() silently updates
    // session.lastAccessedTime, so call it only once before other work.
    Session session = manager.findSession(sessionId);

    // Wait until request processing ends, as Request.recycle() updates
    // session.lastAccessedTime via session.endAccess().
    waitWhileSessionIsActive((StandardSession) session);

    long lastAccessedTime = session.getLastAccessedTimeInternal();

    // Session should be idle at least for 0 second (maxIdleBackup)
    // to be eligible for persistence, thus no need to wait.

    // Waiting a bit, to catch changes in last accessed time of a session
    waitForClockUpdate();

    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId), store.getSavedIds());
    Assert.assertEquals(lastAccessedTime, session.getLastAccessedTimeInternal());

    // session was not accessed, so no save will be performed
    waitForClockUpdate();
    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId), store.getSavedIds());
    Assert.assertEquals(lastAccessedTime, session.getLastAccessedTimeInternal());

    // access session
    session.access();
    session.endAccess();

    // session was accessed, so it will be saved once again
    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId, sessionId),
            store.getSavedIds());

    // session was not accessed, so once again no save will happen
    manager.processPersistenceChecks();
    Assert.assertEquals(Arrays.asList(sessionId, sessionId),
            store.getSavedIds());
}