javax.websocket.Session#setMaxIdleTimeout ( )源码实例Demo

下面列出了javax.websocket.Session#setMaxIdleTimeout ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: mercury   文件: WsConfigurator.java
public void update(Session session) {
    session.setMaxIdleTimeout(getIdleTimeout() * 1000);
    if (!idleTimerLogged) {
        idleTimerLogged = true;
        log.info("{} = {} seconds", IDLE_TIMEOUT, session.getMaxIdleTimeout() / 1000);
    }
    // adjust web socket buffer size
    int originalTextSize = session.getMaxTextMessageBufferSize();
    int originalBinarySize = session.getMaxBinaryMessageBufferSize();
    if (originalTextSize != getTextSize()) {
        session.setMaxTextMessageBufferSize(getTextSize());
        if (!textSizeLogged) {
            textSizeLogged = true;
            log.warn("{} changed from {} to {}", TEXT_SIZE, originalTextSize, session.getMaxTextMessageBufferSize());
        }
    }
    if (originalBinarySize != getBinarySize()) {
        session.setMaxBinaryMessageBufferSize(getBinarySize());
        if (!binarySizeLogged) {
            binarySizeLogged = true;
            log.warn("{} changed from {} to {}", BINARY_SIZE, originalBinarySize, session.getMaxBinaryMessageBufferSize());
        }
    }
}
 
源代码2 项目: quarkus-http   文件: AnnotatedEndpointTest.java
@Test
@Ignore("UT3 - P4")
public void testClientSideIdleTimeout() throws Exception {
    //make a sub class
    CountDownLatch latch = new CountDownLatch(1);
    CloseCountdownEndpoint c = new CloseCountdownEndpoint(latch);

    Session session = deployment.connectToServer(c, new URI("ws://" + DefaultServer.getHostAddress("default") + ":" + DefaultServer.getHostPort("default") + "/ws/chat/Bob"));
    session.setMaxIdleTimeout(100);
    Assert.assertTrue(latch.await(2000, TimeUnit.MILLISECONDS));
    Assert.assertFalse(session.isOpen());

}
 
源代码3 项目: rogue-cloud   文件: WebSocketClientEndpoint.java
@OnOpen
public void open(Session session) {
	System.out.println("open.");
	
	session.setMaxIdleTimeout(2 * TimeUnit.MILLISECONDS.convert(RCSharedConstants.MAX_ROUND_LENGTH_IN_NANOS, TimeUnit.NANOSECONDS));
	
	// Convert the session to a 'managed resource', so that it will automatically be disposed of once it expires.
	ResourceLifecycleUtil.getInstance().addNewSession(ServerWsClientUtil.convertSessionToManagedResource(session));
}
 
源代码4 项目: liberty-bikes   文件: GameRoundWebsocket.java
@OnOpen
public void onOpen(@PathParam("roundId") String roundId, Session session) {
    log(roundId, "Opened a session");
    session.setMaxTextMessageBufferSize(1000);
    session.setMaxBinaryMessageBufferSize(1000);
    session.setMaxIdleTimeout(90 * 1000);
    timerContext = GameMetrics.timerStart(GameMetrics.openWebsocketTimerMetadata);
}
 
源代码5 项目: che   文件: BasicWebSocketEndpoint.java
@OnOpen
public void onOpen(Session session) {
  String combinedEndpointId = getOrGenerateCombinedEndpointId(session);

  LOG.debug("Web socket session opened");
  LOG.debug("Endpoint: {}", combinedEndpointId);

  session.setMaxIdleTimeout(0);

  registry.add(combinedEndpointId, session);
  reSender.resend(combinedEndpointId);
  sessionMessagesBuffer.put(session, new StringBuffer());
}
 
@Test
public void testSessionExpirySession() throws Exception {

    Tomcat tomcat = getTomcatInstance();
    // No file system docBase required
    Context ctx = tomcat.addContext("", null);
    ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
    Tomcat.addServlet(ctx, "default", new DefaultServlet());
    ctx.addServletMappingDecoded("/", "default");

    tomcat.start();

    // Need access to implementation methods for configuring unit tests
    WsWebSocketContainer wsContainer = (WsWebSocketContainer)
            ContainerProvider.getWebSocketContainer();

    // 5 second timeout
    wsContainer.setDefaultMaxSessionIdleTimeout(5000);
    wsContainer.setProcessPeriod(1);

    EndpointA endpointA = new EndpointA();
    Session s1a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s1a.setMaxIdleTimeout(3000);
    Session s2a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s2a.setMaxIdleTimeout(6000);
    Session s3a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s3a.setMaxIdleTimeout(9000);

    // Check all three sessions are open
    Set<Session> setA = s3a.getOpenSessions();

    int expected = 3;
    while (expected > 0) {
        Assert.assertEquals(expected, getOpenCount(setA));

        int count = 0;
        while (getOpenCount(setA) == expected && count < 50) {
            count ++;
            Thread.sleep(100);
        }

        expected--;
    }

    Assert.assertEquals(0, getOpenCount(setA));
}
 
源代码7 项目: quarkus-http   文件: TimeoutEndpoint.java
@OnOpen
public void open(Session session) {
    session.setMaxIdleTimeout(100);
}
 
源代码8 项目: Tomcat7.0.67   文件: TestWsWebSocketContainer.java
@Test
public void testSessionExpirySession() throws Exception {

    Tomcat tomcat = getTomcatInstance();
    // No file system docBase required
    Context ctx = tomcat.addContext("", null);
    ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
    Tomcat.addServlet(ctx, "default", new DefaultServlet());
    ctx.addServletMapping("/", "default");

    tomcat.start();

    // Need access to implementation methods for configuring unit tests
    WsWebSocketContainer wsContainer = (WsWebSocketContainer)
            ContainerProvider.getWebSocketContainer();

    // 5 second timeout
    wsContainer.setDefaultMaxSessionIdleTimeout(5000);
    wsContainer.setProcessPeriod(1);

    EndpointA endpointA = new EndpointA();
    Session s1a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s1a.setMaxIdleTimeout(3000);
    Session s2a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s2a.setMaxIdleTimeout(6000);
    Session s3a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s3a.setMaxIdleTimeout(9000);

    // Check all three sessions are open
    Set<Session> setA = s3a.getOpenSessions();

    int expected = 3;
    while (expected > 0) {
        Assert.assertEquals(expected, getOpenCount(setA));

        int count = 0;
        while (getOpenCount(setA) == expected && count < 5) {
            count ++;
            Thread.sleep(1000);
        }

        expected--;
    }

    Assert.assertEquals(0, getOpenCount(setA));
}
 
源代码9 项目: rogue-cloud   文件: WebSocketBrowserEndpoint.java
@OnOpen
public void open(Session session) {
	System.out.println("open.");
	session.setMaxIdleTimeout(2 * TimeUnit.MILLISECONDS.convert(RCSharedConstants.MAX_ROUND_LENGTH_IN_NANOS, TimeUnit.NANOSECONDS));
	ResourceLifecycleUtil.getInstance().addNewSession(ServerWsClientUtil.convertSessionToManagedResource(session));
}
 
源代码10 项目: tomcatsrc   文件: TestWsWebSocketContainer.java
@Test
public void testSessionExpirySession() throws Exception {

    Tomcat tomcat = getTomcatInstance();
    // No file system docBase required
    Context ctx = tomcat.addContext("", null);
    ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
    Tomcat.addServlet(ctx, "default", new DefaultServlet());
    ctx.addServletMapping("/", "default");

    tomcat.start();

    // Need access to implementation methods for configuring unit tests
    WsWebSocketContainer wsContainer = (WsWebSocketContainer)
            ContainerProvider.getWebSocketContainer();

    // 5 second timeout
    wsContainer.setDefaultMaxSessionIdleTimeout(5000);
    wsContainer.setProcessPeriod(1);

    EndpointA endpointA = new EndpointA();
    Session s1a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s1a.setMaxIdleTimeout(3000);
    Session s2a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s2a.setMaxIdleTimeout(6000);
    Session s3a = connectToEchoServer(wsContainer, endpointA,
            TesterEchoServer.Config.PATH_BASIC);
    s3a.setMaxIdleTimeout(9000);

    // Check all three sessions are open
    Set<Session> setA = s3a.getOpenSessions();

    int expected = 3;
    while (expected > 0) {
        Assert.assertEquals(expected, getOpenCount(setA));

        int count = 0;
        while (getOpenCount(setA) == expected && count < 50) {
            count ++;
            Thread.sleep(100);
        }

        expected--;
    }

    Assert.assertEquals(0, getOpenCount(setA));
}
 
源代码11 项目: zeppelin   文件: TerminalService.java
public void onWebSocketConnect(Session webSocketSession) {
  this.webSocketSession = webSocketSession;
  webSocketSession.setMaxIdleTimeout(60 * 60 * 1000);
}