Spring STOMP简单叙述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011159582/article/details/81278997

Spring STOMP 使用简易教程。


SpringMVC 可以使用STOMP,下面直接上源码
websoket-client 下载地址:https://github.com/JSteunou/webstomp-client
sockjs 下载地址:https://github.com/sockjs/sockjs-client
依赖的库

  1. Jackson Databind
  2. Jackson Core
  3. Jackson Annotations
    下载地址:http://www.mvnrepository.com/search?q=jackson
    在springmvc的配置文件中加入以下xml配置文件
<!-- 配置STOMP -->
	<!-- “/socket”是客户端发送消息的前缀 -->
	<websocket:message-broker application-destination-prefix="/socket">
		<!-- 指定的链接端点,客户端基于此链接和服务器通信 -->
		<websocket:stomp-endpoint path="/app2">
			<websocket:sockjs/>
		</websocket:stomp-endpoint>
		<!-- 设置消息代理 -->
		<websocket:simple-broker prefix="/topic, /queue"/>
	</websocket:message-broker>

开发控制器

@Controller
public void MyWebController {

	// 这个注解会直接将返回值传送给订阅了该方法的客户端
	@SubscribeMapping("/my")
	public String my(){
		return "hello";
	}

	// 这个注解表示直接将返回值发送给消息代理,由消息代理处理,再转发给客户
	// 端,注意:该注解默认省略了“/socket”前缀。转发时,将该路径替换成
	// “/topic/my2”
	@MethodMapping("/my2")
	public String my2() {
		return "my2";
	}
}

JS 测试文件。

<!-- 引入JS文件 -->
<script src="webstomp.js"/>
<script src="sockjs.js"/>
<script>
	// 链接到webapp/app2设置的
	var socket = new SockJS("/webapp/app2");
	var stompClient = webstomp.over(socket);
	stompClient.connect({}, function (frame){
		alert("链接");
		stompClient.send("/socket/test2","data", {});
		stompClient.subscribe("/socket/test2", function(message){
			alert("订阅成功");
			alert(message);
		}, {});
	});
</script>

猜你喜欢

转载自blog.csdn.net/u011159582/article/details/81278997