相关环境 Nginx,Spring4.x当前(要选择4.0+),tomcat8.x,Quartz 2.x集群 测试面页:http://sms.reyo.cn/socket.html 测试面页是文本和图片同时接收并显示(每20秒随机显示文本及图片),效果如下: 服务器端代码: 发送图片提供了两种方式处理,方便以后调用. 客户端接受并显示图片代码: ws.onmessage = function(evt) { if(typeof(evt.data)=="string"){ textHand…
言:使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!主要是tomcat的兼容与支持. 有个需求:APP用户产生某个操作,需要让后台管理系统部分人员感知(表现为一个页面消息). 最早版本是后台管理系统轮训,每隔一段时间轮训一次,由于消息重要,每隔几秒就查一次.这样做明显很不雅!会消耗大量资源,并且大部分请求是没有用的(查不到数据进来),很蓝瘦. 后来,想着用消息推送的方式来处理这个逻辑…
相关环境 Nginx,Spring5.x当前(要选择4.0+),tomcat9.x或8.x都可以,Quartz 2.x集群(实际运用是Quartz的集群模式和单机模式共存的) 测试面页:http://sms.reyo.cn/socket.html 聊天测试地址:https://sms.reyo.cn用户名:aa 密码:123456 每20秒随机显示不同类型的广告:文字.图片.声音),效果如下: 文件下载: 服务器端代码: 发送图片提供了两种方式处理,方便以后调用. 客户端接受并显示图片代码: w…
上一篇文章是关于 “spring boot +RabbitMQ +InfluxDB+Grafara监控实践” 主要讲spring boot应用新能监控信息的收集方案实践 实践是hystrix信息推送的mq而metrics信息需要扫描,文章的最后也有相应的思考metrics信息能不能是应用本身也推送到mq那? 本篇文章就实践关于metrics信息的推送实现 有了上面的思考之后我就回过头来去看hystrix是怎么实现推送的.经过一番跟踪之后找到了具体干活的task代码 有了这个代码就可以参考具体怎样…
WebSocket协议 WebSocket是一种在单个TCP连接上进行全双工通讯的协议.WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范.WebSocket API也被W3C定为标准. WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输 STOMP协议 STOMP是面向文本的消息传…
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很大.特此记录,以备查看. 文章目录: MongoDB和Java(1):Linux下的MongoDB安装 MongoDB和Java(2):普通用户启动mongod进程 MongoDB和Java(3):Java操作MongoB MongoDB和Java(4):Spring Data整合MongoDB(X…
zookeeper单机(Standalones模式)和集群搭建: 前奏: (1).zookeeper也可以在windows下使用,和linux一样可以单机也可以集群,具体就是解压zookeeper-3.4.6.tar.gz,然后进入conf目录修改配置文件zoo_sample.cfg,复制一份并改名zoo.cfg(这是默认名称) 编辑zoo.cfg里面的dataDir=/tmp/zookeeper(把这个路径换成windows带盘符的路径,单机版就改这么一点,集群版参考下面的Linux环境下集群…
个人提示:如果需要用到页面推送,高频且要低延迟,WebSocket无疑是最佳选择.否则还是轮询和long polling吧. 做了一个小demo放在码云上,有兴趣的可以看一下,简单易懂:websocket-demo. 本部分覆盖了web应用中Spring框架对WebSocket-style messaging的支持,包括使用STOMP作为应用及WebSocket子协议. 介绍 部分,给出了一个关于WebSocket的框架,覆盖了adoption challenges.design conside…
spring集成mina: 在学习mina这块时,在网上找了很多资料,只有一些demo,只能实现客户端向服务端发送消息.建立长连接之类.但是实际上在项目中,并不简单实现这些,还有业务逻辑之类的处理以及消息的推送之类的.于是就单独建立了一个工程项目,能够实现客户端和服务端相互之间发送消息.建立长连接.实现心跳检测等功能. 例如:可以实现客户端A向服务端发送消息,服务端将消息转发给客户端B. 效果实现图: 服务端启动成功后, 客户端A绑定服务端. 客户端B向服务端发送信息,请求服务端向客户端A推送消…
最近项目要实现一个消息推送的功能,主要就是发送站内信或者系统主动推送消息给当前在线的用户.每次的消息内容保存数据库,方便用户下次登录后也能看到.如果当前用户在线,收到站内信就主动弹出提示.一开始想到的是前台定时轮询通过ajax查询是否有未读消息.但是这种对系统压力太大.然后网上查询dwr可以主动实时推送消息.现把实现代码贴出来,方便以后使用. web.xml加入如下配置 <!-- dwr 实时推送 start--> <servlet> <servlet-name>dwr…