Search in sources :

Example 36 with TextMessage

use of org.springframework.web.socket.TextMessage in project spring-framework by spring-projects.

the class SockJsSessionTests method delegateMessagesWithErrorAndConnectionClosing.

@Test
public void delegateMessagesWithErrorAndConnectionClosing() throws Exception {
    WebSocketHandler wsHandler = new ExceptionWebSocketHandlerDecorator(this.webSocketHandler);
    TestSockJsSession sockJsSession = new TestSockJsSession("1", this.sockJsConfig, wsHandler, Collections.<String, Object>emptyMap());
    String msg1 = "message 1";
    String msg2 = "message 2";
    String msg3 = "message 3";
    willThrow(new IOException()).given(this.webSocketHandler).handleMessage(sockJsSession, new TextMessage(msg2));
    sockJsSession.delegateConnectionEstablished();
    try {
        sockJsSession.delegateMessages(msg1, msg2, msg3);
        fail("expected exception");
    } catch (SockJsMessageDeliveryException ex) {
        assertEquals(Collections.singletonList(msg3), ex.getUndeliveredMessages());
        verify(this.webSocketHandler).afterConnectionEstablished(sockJsSession);
        verify(this.webSocketHandler).handleMessage(sockJsSession, new TextMessage(msg1));
        verify(this.webSocketHandler).handleMessage(sockJsSession, new TextMessage(msg2));
        verify(this.webSocketHandler).afterConnectionClosed(sockJsSession, CloseStatus.SERVER_ERROR);
        verifyNoMoreInteractions(this.webSocketHandler);
    }
}
Also used : ExceptionWebSocketHandlerDecorator(org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator) WebSocketHandler(org.springframework.web.socket.WebSocketHandler) SockJsMessageDeliveryException(org.springframework.web.socket.sockjs.SockJsMessageDeliveryException) IOException(java.io.IOException) TextMessage(org.springframework.web.socket.TextMessage) Test(org.junit.Test)

Example 37 with TextMessage

use of org.springframework.web.socket.TextMessage in project pinpoint by naver.

the class ActiveThreadCountResponseAggregator method flush.

@Override
public void flush(Executor executor) throws Exception {
    if ((flushCount.getAndIncrement() % LOG_RECORD_RATE) == 0) {
        logger.info("flush started. applicationName:{}", applicationName);
    }
    if (isStopped) {
        return;
    }
    AgentActiveThreadCountList response = new AgentActiveThreadCountList();
    synchronized (aggregatorLock) {
        for (ActiveThreadCountWorker activeThreadCountWorker : activeThreadCountWorkerRepository.values()) {
            String agentId = activeThreadCountWorker.getAgentId();
            AgentActiveThreadCount agentActiveThreadCount = activeThreadCountMap.get(agentId);
            if (agentActiveThreadCount != null) {
                response.add(agentActiveThreadCount);
            } else {
                response.add(activeThreadCountWorker.getDefaultFailResponse());
            }
        }
        activeThreadCountMap = new HashMap<>(activeThreadCountWorkerRepository.size());
    }
    TextMessage webSocketTextMessage = createWebSocketTextMessage(response);
    if (webSocketTextMessage != null) {
        if (executor == null) {
            flush0(webSocketTextMessage);
        } else {
            flushAsync0(webSocketTextMessage, executor);
        }
    }
}
Also used : AgentActiveThreadCount(com.navercorp.pinpoint.web.vo.AgentActiveThreadCount) AgentActiveThreadCountList(com.navercorp.pinpoint.web.vo.AgentActiveThreadCountList) TextMessage(org.springframework.web.socket.TextMessage)

Example 38 with TextMessage

use of org.springframework.web.socket.TextMessage in project spring-boot by spring-projects.

the class EchoWebSocketHandler method handleTextMessage.

@Override
public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
    String echoMessage = this.echoService.getMessage(message.getPayload());
    logger.debug(echoMessage);
    session.sendMessage(new TextMessage(echoMessage));
}
Also used : TextMessage(org.springframework.web.socket.TextMessage)

Example 39 with TextMessage

use of org.springframework.web.socket.TextMessage in project spring-boot by spring-projects.

the class EchoWebSocketHandler method handleTextMessage.

@Override
public void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {
    String echoMessage = this.echoService.getMessage(message.getPayload());
    logger.debug(echoMessage);
    session.sendMessage(new TextMessage(echoMessage));
}
Also used : TextMessage(org.springframework.web.socket.TextMessage)

Example 40 with TextMessage

use of org.springframework.web.socket.TextMessage in project spring-boot by spring-projects.

the class SimpleClientWebSocketHandler method afterConnectionEstablished.

@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
    TextMessage message = new TextMessage(this.greetingService.getGreeting());
    session.sendMessage(message);
}
Also used : TextMessage(org.springframework.web.socket.TextMessage)

Aggregations

TextMessage (org.springframework.web.socket.TextMessage)67 Test (org.junit.Test)48 StompHeaderAccessor (org.springframework.messaging.simp.stomp.StompHeaderAccessor)16 WebSocketSession (org.springframework.web.socket.WebSocketSession)11 IOException (java.io.IOException)8 BinaryMessage (org.springframework.web.socket.BinaryMessage)8 SimpMessageHeaderAccessor (org.springframework.messaging.simp.SimpMessageHeaderAccessor)7 Message (org.springframework.messaging.Message)6 URI (java.net.URI)4 CountDownLatch (java.util.concurrent.CountDownLatch)4 StompEncoder (org.springframework.messaging.simp.stomp.StompEncoder)4 WebSocketHandler (org.springframework.web.socket.WebSocketHandler)4 WebSocketMessage (org.springframework.web.socket.WebSocketMessage)4 ClientHttpResponse (org.springframework.http.client.ClientHttpResponse)3 MessageChannel (org.springframework.messaging.MessageChannel)3 ExecutorSubscribableChannel (org.springframework.messaging.support.ExecutorSubscribableChannel)3 ImmutableMessageChannelInterceptor (org.springframework.messaging.support.ImmutableMessageChannelInterceptor)3 CloseStatus (org.springframework.web.socket.CloseStatus)3 TestWebSocketSession (org.springframework.web.socket.handler.TestWebSocketSession)3 SockJsMessageDeliveryException (org.springframework.web.socket.sockjs.SockJsMessageDeliveryException)3