{"id":96641,"date":"2019-08-28T19:00:54","date_gmt":"2019-08-28T16:00:54","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=96641"},"modified":"2019-08-27T13:56:26","modified_gmt":"2019-08-27T10:56:26","slug":"web-socket-java-client-stomp-spring-server-side","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html","title":{"rendered":"Web socket Java client for Stomp-Spring server side"},"content":{"rendered":"<h3 class=\"wp-block-heading\">Problem :<\/h3>\n<p>As an analysis for an issue I had to write a simple java web socket client site code connecting to a Spring based application on the server side with a stomp based web socket broker .<\/p>\n<h3 class=\"wp-block-heading\">Solution :<\/h3>\n<p><strong>pom.xml<\/strong><\/p>\n<pre class=\"wp-block-preformatted brush:xml\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;project xmlns=\"http:\/\/maven.apache.org\/POM\/4.0.0\"\n         xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\n         xsi:schemaLocation=\"http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd\"&gt;\n    &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;\n\n    &lt;groupId&gt;com.rnd&lt;\/groupId&gt;\n    &lt;artifactId&gt;SockWebsocketClient&lt;\/artifactId&gt;\n    &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt;\n\n    &lt;parent&gt;\n        &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n        &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;\n        &lt;version&gt;2.0.3.RELEASE&lt;\/version&gt;\n    &lt;\/parent&gt;\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-messaging&lt;\/artifactId&gt;\n            &lt;version&gt;5.0.7.RELEASE&lt;\/version&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;com.fasterxml.jackson.core&lt;\/groupId&gt;\n            &lt;artifactId&gt;jackson-databind&lt;\/artifactId&gt;\n            &lt;version&gt;2.9.5&lt;\/version&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.apache.tomcat.embed&lt;\/groupId&gt;\n            &lt;artifactId&gt;tomcat-embed-websocket&lt;\/artifactId&gt;\n            &lt;version&gt;9.0.8&lt;\/version&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-dependencies&lt;\/artifactId&gt;\n            &lt;version&gt;2.0.2.RELEASE&lt;\/version&gt;\n            &lt;type&gt;pom&lt;\/type&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-context&lt;\/artifactId&gt;\n            &lt;version&gt;5.0.7.RELEASE&lt;\/version&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-websocket&lt;\/artifactId&gt;\n            &lt;version&gt;5.0.7.RELEASE&lt;\/version&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;\n&lt;\/project&gt;<\/pre>\n<h2 class=\"wp-block-heading\">Sock JS Client<\/h2>\n<p>Its the main class , a simple one doing the basic job . As most of the web sockets these days are meant to use SSL , so tried to by pass the trust manager issue by creating a dummy TrustManager .<\/p>\n<p>The input to this code is the topic string you want to subscribe to .<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Also dont miss to change the &lt;URL&gt; string in the code before you run , pointing to your web socket url.<\/p>\n<pre class=\"wp-block-preformatted brush:java\">package com.client;\n\nimport org.springframework.messaging.Message;\nimport org.springframework.messaging.MessageHeaders;\nimport org.springframework.messaging.converter.MessageConverter;\nimport org.springframework.messaging.converter.SimpleMessageConverter;\nimport org.springframework.messaging.converter.StringMessageConverter;\nimport org.springframework.messaging.simp.stomp.StompHeaders;\nimport org.springframework.web.socket.WebSocketHttpHeaders;\nimport org.springframework.web.socket.client.standard.StandardWebSocketClient;\nimport org.springframework.web.socket.messaging.WebSocketStompClient;\nimport org.springframework.web.socket.sockjs.client.Transport;\nimport org.springframework.web.socket.sockjs.client.WebSocketTransport;\nimport org.springframework.web.socket.sockjs.frame.Jackson2SockJsMessageCodec;\n\nimport javax.net.ssl.HttpsURLConnection;\nimport javax.net.ssl.SSLContext;\nimport javax.net.ssl.TrustManager;\nimport javax.net.ssl.X509TrustManager;\nimport java.net.URI;\nimport java.security.KeyManagementException;\nimport java.security.NoSuchAlgorithmException;\nimport java.security.cert.X509Certificate;\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.Map;\n\npublic class SockJsClient {\n\n\n    public static void main(String[] args) {\n\n        try {\n            StandardWebSocketClient simpleWebSocketClient = new StandardWebSocketClient();\n\n\n            TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {\n                public X509Certificate[] getAcceptedIssuers() {\n                    return null;\n                }\n                public void checkClientTrusted(X509Certificate[] certs, String authType) {\n                }\n                public void checkServerTrusted(X509Certificate[] certs, String authType) {\n                }\n            }\n            };\n\n\n            SSLContext sc = SSLContext.getInstance(\"SSL\");\n            sc.init(null, trustAllCerts, new java.security.SecureRandom());\n            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());\n\n            Map&lt;String, Object&gt; properties = new HashMap&lt;&gt;();\n            properties.put(\"org.apache.tomcat.websocket.SSL_CONTEXT\", sc);\n            simpleWebSocketClient.setUserProperties(properties);\n\n            List&lt;Transport&gt; transports = new ArrayList();\n            transports.add(new WebSocketTransport(simpleWebSocketClient));\n\n            org.springframework.web.socket.sockjs.client.SockJsClient sockJsClient = new org.springframework.web.socket.sockjs.client.SockJsClient(transports);\n            sockJsClient.setMessageCodec(new Jackson2SockJsMessageCodec());\n            WebSocketStompClient stompClient = new WebSocketStompClient(sockJsClient);\n            stompClient.setMessageConverter(new MessageConverter() {\n                @Override\n                public Object fromMessage(Message&lt;?&gt; message, Class&lt;?&gt; aClass) {\n                    return new String((byte[])message.getPayload());\n                }\n\n                @Override\n                public Message&lt;?&gt; toMessage(Object o, MessageHeaders messageHeaders) {\n                    return null;\n                }\n            });\n\n            \/\/ url : pointing to websocket as sockJs first tries to get info by sending a HTTP request\n            \/\/ and then sends an upgrade request to ws or wss. So your url should be some thing like htttp:\/\/\n\n            URI stompUrlEndpoint = new URI(\"&lt;url&gt;\");\n\n            WebSocketHttpHeaders handshakeHeaders = new WebSocketHttpHeaders();\n            StompHeaders connectHeaders = new StompHeaders();\n\n            \/*Can set connection header like login , passcode in connectHeaders  *\/\n\n            stompClient.connect(stompUrlEndpoint.toString(), handshakeHeaders, connectHeaders, new SessionHandler(args[0]), new Object[0]);\n\n            Thread.sleep(30000);\n            stompClient.stop();\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}<\/pre>\n<h2 class=\"wp-block-heading\">Session Handler<\/h2>\n<p>Every socket connection need a session handler and here is one which takes care of connection setup and in-coming messages.<\/p>\n<pre class=\"wp-block-preformatted brush:java\">package com.client;\n\nimport org.springframework.messaging.simp.stomp.StompCommand;\nimport org.springframework.messaging.simp.stomp.StompFrameHandler;\nimport org.springframework.messaging.simp.stomp.StompHeaders;\nimport org.springframework.messaging.simp.stomp.StompSession;\nimport org.springframework.messaging.simp.stomp.StompSessionHandlerAdapter;\n\nimport java.lang.reflect.Type;\n\npublic class SessionHandler extends StompSessionHandlerAdapter {\n\n    private final String topicName ;\n\n    public SessionHandler(String topicName) {\n        this.topicName = topicName;\n    }\n\n    @Override\n    public void afterConnected(StompSession session, StompHeaders connectedHeaders) {\n        this.subscribeTo(session);\n    }\n\n    @Override\n    public void handleException(StompSession session,StompCommand command,StompHeaders headers,byte[] payload,Throwable exception ) {\n        exception.printStackTrace();\n    }\n\n\n    public void handleFrame(StompHeaders headers, Object payload) {\n        System.out.println(payload.toString());\n    }\n\n\n    @Override\n    public void handleTransportError(StompSession session, Throwable exception) {\n        exception.printStackTrace();\n    }\n\n    private void subscribeTo(StompSession session) {\n        StompHeaders headers = new StompHeaders();\n        headers.add(\"id\",\"websocket-session-standalone-0\");\n        headers.add(\"destination\",topicName);\n\n        session.subscribe(headers, new StompFrameHandler() {\n            @Override\n            public Type getPayloadType(StompHeaders stompHeaders) {\n                return String.class;\n            }\n\n            @Override\n            public void handleFrame(StompHeaders stompHeaders, Object o) {\n                System.out.println( \" Message is \" +\n                        o.toString()\n                );\n            }\n        });\n    }\n}<\/pre>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>Published on Java Code Geeks with permission by Abhijeet Iyengar, partner at our <a href=\"\/\/www.javacodegeeks.com\/join-us\/jcg\/\" target=\"_blank\" rel=\"noopener noreferrer\">JCG program<\/a>. See the original article here: <a href=\"https:\/\/fixing-technology.com\/2019\/07\/30\/web-socket-java-client-for-stomp-spring-server-side\/\" target=\"_blank\" rel=\"noopener noreferrer\">Web socket java client for Stomp-Spring server side.<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Opinions expressed by Java Code Geeks contributors are their own.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Problem : As an analysis for an issue I had to write a simple java web socket client site code connecting to a Spring based application on the server side with a stomp based web socket broker . Solution : pom.xml &lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt; &lt;project xmlns=&#8221;http:\/\/maven.apache.org\/POM\/4.0.0&#8243; xmlns:xsi=&#8221;http:\/\/www.w3.org\/2001\/XMLSchema-instance&#8221; xsi:schemaLocation=&#8221;http:\/\/maven.apache.org\/POM\/4.0.0 http:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&#8221;&gt; &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt; &lt;groupId&gt;com.rnd&lt;\/groupId&gt; &lt;artifactId&gt;SockWebsocketClient&lt;\/artifactId&gt; &lt;version&gt;1.0-SNAPSHOT&lt;\/version&gt; &lt;parent&gt; &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt; &hellip;<\/p>\n","protected":false},"author":532,"featured_media":112,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-96641","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Web socket Java client for Stomp-Spring server side - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Interested to learn about web socket client? Check our article explaining how to write a java web socket client connecting to a Spring based application\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Web socket Java client for Stomp-Spring server side - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Interested to learn about web socket client? Check our article explaining how to write a java web socket client connecting to a Spring based application\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-28T16:00:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Abhijeet Iyengar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abhijeet Iyengar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html\"},\"author\":{\"name\":\"Abhijeet Iyengar\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/a057d2cf9bf61d147a09ed1bb8720b7d\"},\"headline\":\"Web socket Java client for Stomp-Spring server side\",\"datePublished\":\"2019-08-28T16:00:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html\"},\"wordCount\":185,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html\",\"name\":\"Web socket Java client for Stomp-Spring server side - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"datePublished\":\"2019-08-28T16:00:54+00:00\",\"description\":\"Interested to learn about web socket client? Check our article explaining how to write a java web socket client connecting to a Spring based application\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/enterprise-java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"java-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/08\\\/web-socket-java-client-stomp-spring-server-side.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Web socket Java client for Stomp-Spring server side\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/a057d2cf9bf61d147a09ed1bb8720b7d\",\"name\":\"Abhijeet Iyengar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0ace91b996bbd09b30d2bf1f038bbf86364772dc38b79ac4002bdc0e927becf3?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0ace91b996bbd09b30d2bf1f038bbf86364772dc38b79ac4002bdc0e927becf3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0ace91b996bbd09b30d2bf1f038bbf86364772dc38b79ac4002bdc0e927becf3?s=96&d=mm&r=g\",\"caption\":\"Abhijeet Iyengar\"},\"description\":\"Abhijeet is a Software Engineer working with financial client . He has been involved in building UI and service based applications.\",\"sameAs\":[\"https:\\\/\\\/fixing-technology.com\\\/\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/abhijeet-iyengar\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Web socket Java client for Stomp-Spring server side - Java Code Geeks","description":"Interested to learn about web socket client? Check our article explaining how to write a java web socket client connecting to a Spring based application","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html","og_locale":"en_US","og_type":"article","og_title":"Web socket Java client for Stomp-Spring server side - Java Code Geeks","og_description":"Interested to learn about web socket client? Check our article explaining how to write a java web socket client connecting to a Spring based application","og_url":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2019-08-28T16:00:54+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","type":"image\/jpeg"}],"author":"Abhijeet Iyengar","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Abhijeet Iyengar","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html"},"author":{"name":"Abhijeet Iyengar","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/a057d2cf9bf61d147a09ed1bb8720b7d"},"headline":"Web socket Java client for Stomp-Spring server side","datePublished":"2019-08-28T16:00:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html"},"wordCount":185,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html","url":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html","name":"Web socket Java client for Stomp-Spring server side - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","datePublished":"2019-08-28T16:00:54+00:00","description":"Interested to learn about web socket client? Check our article explaining how to write a java web socket client connecting to a Spring based application","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/enterprise-java-logo.jpg","width":150,"height":150,"caption":"java-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2019\/08\/web-socket-java-client-stomp-spring-server-side.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Web socket Java client for Stomp-Spring server side"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/a057d2cf9bf61d147a09ed1bb8720b7d","name":"Abhijeet Iyengar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0ace91b996bbd09b30d2bf1f038bbf86364772dc38b79ac4002bdc0e927becf3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0ace91b996bbd09b30d2bf1f038bbf86364772dc38b79ac4002bdc0e927becf3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0ace91b996bbd09b30d2bf1f038bbf86364772dc38b79ac4002bdc0e927becf3?s=96&d=mm&r=g","caption":"Abhijeet Iyengar"},"description":"Abhijeet is a Software Engineer working with financial client . He has been involved in building UI and service based applications.","sameAs":["https:\/\/fixing-technology.com\/"],"url":"https:\/\/www.javacodegeeks.com\/author\/abhijeet-iyengar"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/96641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/532"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=96641"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/96641\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/112"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=96641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=96641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=96641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}