背景:主要是为了实现一个实时数据大屏,因为需要实时数据刷新,所以需要不停的从服务器获取数据库最新数据,最开始的想到是否可以前端使用定时器不断向服务器发送ajax请求数据,但这样的弊端便是会导致服务器的压力很大,所以后来在网上看到一个框架goeasy,一个实时的web消息推送服务,因为数据大屏对应不同的图表数据来源不同,而恰好goeasy又有可以订阅不同的频道,推送对应的消息,在这点的前提之下,我在后台再使用spring的定时器,就可对应频道推送对应数据,这样的实现效果挺好,但是他们的服务收费,虽然收费不高,不过后来觉得是否可以使用websocket来实现一个类似的功能,在网上了解到websocket_stomp可以实现订阅的功能,于是决定模范goeasy做一个类似的,订阅-发布功能,此记下记录。
声明:由于是做数据大屏不需要接收websocket消息只需要推送,所以这里没有接收websocket消息对应的代码
技术:websocket+stomp,spring schedule
========pom包导入========
<!-- spring socket -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- spring socket -->
1.首先websoket的配置,使用注解方式
import org.spring