Package org.springframework.web.socket

Examples of org.springframework.web.socket.TextMessage


    }
  }

  @OnWebSocketMessage
  public void onWebSocketText(String payload) {
    TextMessage message = new TextMessage(payload);
    try {
      this.webSocketHandler.handleMessage(this.wsSession, message);
    }
    catch (Throwable t) {
      ExceptionWebSocketHandlerDecorator.tryCloseWithError(this.wsSession, t, logger);
View Full Code Here


    verifyNoMoreInteractions(this.webSocketHandler);
  }

  @Test
  public void handleMessageBadData() throws Exception {
    TextMessage message = new TextMessage("[\"x]");
    this.session.handleMessage(message, this.webSocketSession);

    this.session.isClosed();
    verify(this.webSocketHandler).handleTransportError(same(this.session), any(IOException.class));
    verifyNoMoreInteractions(this.webSocketHandler);
View Full Code Here

  public void sendMessageInternal() throws Exception {

    this.session.initializeDelegateSession(this.webSocketSession);
    this.session.sendMessageInternal("x");

    assertEquals(Arrays.asList(new TextMessage("o"), new TextMessage("a[\"x\"]")),
        this.webSocketSession.getSentMessages());

    assertEquals(Arrays.asList("schedule", "cancel", "schedule"), this.session.heartbeatSchedulingEvents);
  }
View Full Code Here

    session.setOpen(true);

    ConcurrentWebSocketSessionDecorator concurrentSession =
        new ConcurrentWebSocketSessionDecorator(session, 1000, 1024);

    TextMessage textMessage = new TextMessage("payload");
    concurrentSession.sendMessage(textMessage);

    assertEquals(1, session.getSentMessages().size());
    assertEquals(textMessage, session.getSentMessages().get(0));
View Full Code Here

        new ConcurrentWebSocketSessionDecorator(blockingSession, 10 * 1000, 1024);

    Executors.newSingleThreadExecutor().submit(new Runnable() {
      @Override
      public void run() {
        TextMessage textMessage = new TextMessage("slow message");
        try {
          concurrentSession.sendMessage(textMessage);
        }
        catch (IOException e) {
          e.printStackTrace();
        }
      }
    });

    assertTrue(sentMessageLatch.await(5, TimeUnit.SECONDS));

    // ensure some send time elapses
    Thread.sleep(100);
    assertTrue(concurrentSession.getTimeSinceSendStarted() > 0);

    TextMessage payload = new TextMessage("payload");
    for (int i=0; i < 5; i++) {
      concurrentSession.sendMessage(payload);
    }

    assertTrue(concurrentSession.getTimeSinceSendStarted() > 0);
    assertEquals(5 * payload.getPayloadLength(), concurrentSession.getBufferSize());
    assertTrue(blockingSession.isOpen());
  }
View Full Code Here

        new ConcurrentWebSocketSessionDecorator(blockingSession, sendTimeLimit, bufferSizeLimit);

    Executors.newSingleThreadExecutor().submit(new Runnable() {
      @Override
      public void run() {
        TextMessage textMessage = new TextMessage("slow message");
        try {
          concurrentSession.sendMessage(textMessage);
        }
        catch (IOException e) {
          e.printStackTrace();
        }
      }
    });

    assertTrue(sentMessageLatch.await(5, TimeUnit.SECONDS));

    // ensure some send time elapses
    Thread.sleep(sendTimeLimit + 100);

    try {
      TextMessage payload = new TextMessage("payload");
      concurrentSession.sendMessage(payload);
      fail("Expected exception");
    }
    catch (SessionLimitExceededException ex) {
      assertEquals(CloseStatus.SESSION_NOT_RELIABLE, ex.getStatus());
View Full Code Here

        new ConcurrentWebSocketSessionDecorator(blockingSession, sendTimeLimit, bufferSizeLimit);

    Executors.newSingleThreadExecutor().submit(new Runnable() {
      @Override
      public void run() {
        TextMessage textMessage = new TextMessage("slow message");
        try {
          concurrentSession.sendMessage(textMessage);
        }
        catch (IOException e) {
          e.printStackTrace();
        }
      }
    });

    assertTrue(sentMessageLatch.await(5, TimeUnit.SECONDS));

    StringBuilder sb = new StringBuilder();
    for (int i=0 ; i < 1023; i++) {
      sb.append("a");
    }

    TextMessage message = new TextMessage(sb.toString());
    concurrentSession.sendMessage(message);

    assertEquals(1023, concurrentSession.getBufferSize());
    assertTrue(blockingSession.isOpen());
View Full Code Here

    verifyNoMoreInteractions(this.channel);

    // Check CONNECTED reply

    assertEquals(1, this.session.getSentMessages().size());
    TextMessage textMessage = (TextMessage) this.session.getSentMessages().get(0);

    List<Message<byte[]>> messages = new StompDecoder().decode(ByteBuffer.wrap(textMessage.getPayload().getBytes()));
    assertEquals(1, messages.size());
    StompHeaderAccessor replyHeaders = StompHeaderAccessor.wrap(messages.get(0));

    assertEquals(StompCommand.CONNECTED, replyHeaders.getCommand());
    assertEquals("1.1", replyHeaders.getVersion());
View Full Code Here

    this.protocolHandler.setApplicationEventPublisher(publisher);
    this.protocolHandler.afterSessionStarted(this.session, this.channel);

    StompHeaderAccessor headers = StompHeaderAccessor.create(StompCommand.CONNECT);
    Message<byte[]> message = MessageBuilder.createMessage(EMPTY_PAYLOAD, headers.getMessageHeaders());
    TextMessage textMessage = new TextMessage(new StompEncoder().encode(message));
    this.protocolHandler.handleMessageFromClient(this.session, textMessage, this.channel);

    headers = StompHeaderAccessor.create(StompCommand.CONNECTED);
    message = MessageBuilder.createMessage(EMPTY_PAYLOAD, headers.getMessageHeaders());
    this.protocolHandler.handleMessageToClient(this.session, message);

    headers = StompHeaderAccessor.create(StompCommand.SUBSCRIBE);
    message = MessageBuilder.createMessage(EMPTY_PAYLOAD, headers.getMessageHeaders());
    textMessage = new TextMessage(new StompEncoder().encode(message));
    this.protocolHandler.handleMessageFromClient(this.session, textMessage, this.channel);

    headers = StompHeaderAccessor.create(StompCommand.UNSUBSCRIBE);
    message = MessageBuilder.createMessage(EMPTY_PAYLOAD, headers.getMessageHeaders());
    textMessage = new TextMessage(new StompEncoder().encode(message));
    this.protocolHandler.handleMessageFromClient(this.session, textMessage, this.channel);

    this.protocolHandler.afterSessionEnded(this.session, CloseStatus.BAD_DATA, this.channel);

    assertEquals("Unexpected events " + publisher.events, 5, publisher.events.size());
View Full Code Here

    this.protocolHandler.setApplicationEventPublisher(publisher);
    this.protocolHandler.afterSessionStarted(this.session, this.channel);

    StompHeaderAccessor headers = StompHeaderAccessor.create(StompCommand.CONNECT);
    Message<byte[]> message = MessageBuilder.createMessage(EMPTY_PAYLOAD, headers.getMessageHeaders());
    TextMessage textMessage = new TextMessage(new StompEncoder().encode(message));
    this.protocolHandler.handleMessageFromClient(this.session, textMessage, this.channel);

    verify(this.channel).send(this.messageCaptor.capture());
    Message<?> actual = this.messageCaptor.getValue();
    assertNotNull(actual);
    assertEquals(StompCommand.CONNECT, StompHeaderAccessor.wrap(actual).getCommand());
    reset(this.channel);

    headers = StompHeaderAccessor.create(StompCommand.CONNECTED);
    message = MessageBuilder.createMessage(EMPTY_PAYLOAD, headers.getMessageHeaders());
    this.protocolHandler.handleMessageToClient(this.session, message);

    assertEquals(1, this.session.getSentMessages().size());
    textMessage = (TextMessage) this.session.getSentMessages().get(0);
    assertEquals("CONNECTED\n" + "user-name:joe\n" + "\n" + "\u0000", textMessage.getPayload());

    this.protocolHandler.afterSessionEnded(this.session, CloseStatus.BAD_DATA, this.channel);

    verify(this.channel).send(this.messageCaptor.capture());
    actual = this.messageCaptor.getValue();
View Full Code Here

TOP

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

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.