Package org.springframework.web.socket

Examples of org.springframework.web.socket.WebSocketSession


    for (int i = 0; i < messageCount; i++) {
      messages.add(new TextMessage("m" + i));
    }
    TestClientHandler handler = new TestClientHandler();
    initSockJsClient(transport);
    WebSocketSession session = this.sockJsClient.doHandshake(handler, this.baseUrl + "/echo").get();
    for (TextMessage message : messages) {
      session.sendMessage(message);
    }
    handler.awaitMessageCount(messageCount, 5000);
    for (TextMessage message : messages) {
      assertTrue("Message not received: " + message, handler.receivedMessages.remove(message));
    }
    assertEquals("Remaining messages: " + handler.receivedMessages, 0, handler.receivedMessages.size());
    session.close();
  }
View Full Code Here


    SubProtocolWebSocketHandler webSocketHandler = config.getBean(SubProtocolWebSocketHandler.class);

    List<ChannelInterceptor> interceptors = channel.getInterceptors();
    assertEquals(ImmutableMessageChannelInterceptor.class, interceptors.get(interceptors.size()-1).getClass());

    WebSocketSession session = new TestWebSocketSession("s1");
    webSocketHandler.afterConnectionEstablished(session);

    TextMessage textMessage = StompTextMessageBuilder.create(StompCommand.SEND).headers("destination:/foo").build();
    webSocketHandler.handleMessage(session, textMessage);
View Full Code Here

    SimpleUrlHandlerMapping mapping = (SimpleUrlHandlerMapping) config.getBean("stompWebSocketHandlerMapping");
    WebSocketHttpRequestHandler httpHandler = (WebSocketHttpRequestHandler) mapping.getHandlerMap().get("/test");
    handler = httpHandler.getWebSocketHandler();

    WebSocketSession session = new TestWebSocketSession("id");
    handler.afterConnectionEstablished(session);
    assertEquals(true, session.getAttributes().get("decorated"));
  }
View Full Code Here

  public WebSocketSession getDelegate() {
    return this.delegate;
  }

  public WebSocketSession getLastSession() {
    WebSocketSession result = this.delegate;
    while (result instanceof WebSocketSessionDecorator) {
      result = ((WebSocketSessionDecorator) result).getDelegate();
    }
    return result;
  }
View Full Code Here

    return new Class<?>[] { TestConfig.class };
  }

  @Test
  public void registerWebSocketHandler() throws Exception {
    WebSocketSession session = this.webSocketClient.doHandshake(
        new AbstractWebSocketHandler() {}, getWsBaseUrl() + "/ws").get();

    TestHandler serverHandler = this.wac.getBean(TestHandler.class);
    assertTrue(serverHandler.connectLatch.await(2, TimeUnit.SECONDS));

    session.close();
  }
View Full Code Here

    session.close();
  }

  @Test
  public void registerWebSocketHandlerWithSockJS() throws Exception {
    WebSocketSession session = this.webSocketClient.doHandshake(
        new AbstractWebSocketHandler() {}, getWsBaseUrl() + "/sockjs/websocket").get();

    TestHandler serverHandler = this.wac.getBean(TestHandler.class);
    assertTrue(serverHandler.connectLatch.await(2, TimeUnit.SECONDS));

    session.close();
  }
View Full Code Here

        // The broker may not have removed the session yet
        logger.debug("No session for " + message);
      }
      return;
    }
    WebSocketSession session = holder.getSession();
    try {
      findProtocolHandler(session).handleMessageToClient(session, message);
    }
    catch (SessionLimitExceededException ex) {
      try {
        if (logger.isDebugEnabled()) {
          logger.debug("Terminating '" + session + "'", ex);
        }
        this.stats.incrementLimitExceededCount();
        clearSession(session, ex.getStatus()); // clear first, session may be unresponsive
        session.close(ex.getStatus());
      }
      catch (Exception secondException) {
        logger.debug("Failure while closing session " + sessionId + ".", secondException);
      }
    }
View Full Code Here

          }
          long timeSinceCreated = currentTime - holder.getCreateTime();
          if (timeSinceCreated < TIME_TO_FIRST_MESSAGE) {
            continue;
          }
          WebSocketSession session = holder.getSession();
          if (logger.isErrorEnabled()) {
            logger.error("No messages received after " + timeSinceCreated + " ms. " +
                "Closing " + holder.getSession() + ".");
          }
          try {
            this.stats.incrementNoMessagesReceivedCount();
            session.close(CloseStatus.SESSION_NOT_RELIABLE);
          }
          catch (Throwable t) {
            logger.error("Failure while closing " + session, t);
          }
        }
View Full Code Here

        when(pieceServiceMock.getNextPieceId(Mockito.<UserPreferences>any())).thenReturn(piece.getId());
    }

    private WebSocketSession getSession(final String id) {
        messages.put(id, new LinkedList<WebSocketMessage<?>>());
        WebSocketSession session = mock(WebSocketSession.class);
        try {
            doAnswer(new Answer<Void>() {
                @Override
                public Void answer(InvocationOnMock invocation) throws Throwable {
                    messages.get(id).offer((WebSocketMessage<?>) invocation.getArguments()[0]);
                    return null;
                }
            }).when(session).sendMessage(Mockito.<WebSocketMessage<?>>any());
        } catch (IOException e) {
            throw new IllegalStateException(e);
        }
        when(session.getId()).thenReturn(id);
        return session;
    }
View Full Code Here

        try {
            GameMessage msg = new GameMessage();
            msg.setAction(GameAction.INITIALIZE);
            msg.setPlayerName("Game starter");
            TextMessage message = getTextMessage(msg);
            WebSocketSession session = getSession("1");

            handler.afterConnectionEstablished(session);
            handler.handleMessage(session, message);
        } catch (Exception ex) {
            throw new IllegalStateException(ex);
View Full Code Here

TOP

Related Classes of org.springframework.web.socket.WebSocketSession

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.