StompSessionHandlerAdapter.
+ * Once a connection is established, We subscribe to /topic/messages and
+ * send a sample message to server.
+ *
+ * @author Kalyan
+ *
+ */
+public class MyStompSessionHandler extends StompSessionHandlerAdapter {
+
+ private Logger logger = Logger.getLogger(MyStompSessionHandler.class);
+
+ @Override
+ public void afterConnected(StompSession session, StompHeaders connectedHeaders) {
+ logger.info("New session established : "+session.getSessionId());
+ session.subscribe("/topic/messages", this);
+ logger.info("Subscribed to /topic/messages");
+ session.send("/app/chat", getSampleMessage());
+ logger.info("Message sent to websocket server");
+ }
+
+ @Override
+ public void handleException(StompSession session, StompCommand command, StompHeaders headers, byte[] payload, Throwable exception) {
+ logger.error("Got an exception", exception);
+ }
+
+ @Override
+ public Type getPayloadType(StompHeaders headers) {
+ return Message.class;
+ }
+
+ @Override
+ public void handleFrame(StompHeaders headers, Object payload) {
+ Message msg = (Message)payload;
+ logger.info("Received : "+ msg.getText()+ " from : "+msg.getFrom());
+ }
+
+ /**
+ * A sample message instance.
+ * @return instance of Message
+ */
+ private Message getSampleMessage(){
+ Message msg = new Message();
+ msg.setFrom("Nicky");
+ msg.setText("Howdy!!");
+ return msg;
+ }
+}
\ No newline at end of file
diff --git a/spring-boot/src/main/java/org/baeldung/websocket/client/StompClient.java b/spring-boot/src/main/java/org/baeldung/websocket/client/StompClient.java
new file mode 100644
index 0000000000..da2dbeac3d
--- /dev/null
+++ b/spring-boot/src/main/java/org/baeldung/websocket/client/StompClient.java
@@ -0,0 +1,37 @@
+package org.baeldung.websocket.client;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Scanner;
+
+import org.springframework.messaging.converter.MappingJackson2MessageConverter;
+import org.springframework.messaging.simp.stomp.StompSessionHandler;
+import org.springframework.web.socket.client.standard.StandardWebSocketClient;
+import org.springframework.web.socket.messaging.WebSocketStompClient;
+import org.springframework.web.socket.sockjs.client.SockJsClient;
+import org.springframework.web.socket.sockjs.client.Transport;
+import org.springframework.web.socket.sockjs.client.WebSocketTransport;
+
+/**
+ * Stand alone WebSocketStompClient.
+ * @author Kalyan
+ *
+ */
+public class StompClient {
+
+ private static String URL = "ws://localhost:8080/spring-mvc-java/chat";
+
+ public static void main(String[] args) {
+ Transport webSocketTransport = new WebSocketTransport(new StandardWebSocketClient());
+ List| Suite | " + "Test | " + "Method | " + "Status | " + "Execution Time(ms) | " + "
|---|