打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【教程】JFinal-Event异步执行JBolt中服务端websocket推送
userphoto

2023.01.07 湖南

关注

需求:后端有通知和待办,及时推送给前端相关用户,在页面显示提示信息。

用到技术:

1、websocket 后端推送最终使用的是websocket 前端用户登录后与后端服务器建立websocket链接

2、JFinal-event 异步执行消息推送 与主业务解耦 不能在新增一条todo待办或者notice通知后立马同步执行websocket的推送,如果系统里有1000个客户端,你得等都推送完了才能结束这个业务的响应 显然不合理。需要在todo和notice save之后 向事件处理队列或者pool里推送一个事件就立马结束这个业务,等待事件监听器起作用后异步处理。

save成功立马post一个事件。

监听器监听这个事件

监听到事件后异步执行websocket推送就行了

上效果:

如何在项目里引入JFinal-event:

1、pom.xml 

版本3.1.3

2、配置插件

3、创建EventListener 写注解

package cn.jbolt._admin.event; import com.jfinal.log.Log; import cn.jbolt.common.model.SysNotice;import cn.jbolt.common.model.Todo;import net.dreamlu.event.core.EventListener;/** * JBolt 内部事件监听处理 * @ClassName:  JBoltEventListener    * @author: JFinal学院-小木 QQ:909854136  * @date:   2021年10月6日    */public class JBoltEventListener {	private static final Log LOG = Log.getLog(JBoltEventListener.class);	/**	 * 全局通知事件监听处理	 * @param notice	 */	@EventListener(async = true)	public void sysNotice(SysNotice notice) {			}		/**	 * todo事件监听处理	 * @param todo	 */	@EventListener(async = true)	public void todo(Todo todo) {			}}

4、找到合适的地方执行

EventKit.post(event)就行了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解密DDD:领域事件--系统解耦的终极武器
Spring Event,贼好用的业务解耦神器!
springmvc+websocket 简单实现消息即时推送
SAP Event Mesh 简介
HTML5 服务器发送事件(Server-Sent Events)
流动的数据 RxJS
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服