小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【教程】JFinal-Event異步執(zhí)行JBolt中服務(wù)端websocket推送

 hncdman 2023-01-07 發(fā)布于湖南

需求:后端有通知和待辦,及時(shí)推送給前端相關(guān)用戶,在頁面顯示提示信息。

用到技術(shù):

1、websocket 后端推送最終使用的是websocket 前端用戶登錄后與后端服務(wù)器建立websocket鏈接

2、JFinal-event 異步執(zhí)行消息推送 與主業(yè)務(wù)解耦 不能在新增一條todo待辦或者notice通知后立馬同步執(zhí)行websocket的推送,如果系統(tǒng)里有1000個(gè)客戶端,你得等都推送完了才能結(jié)束這個(gè)業(yè)務(wù)的響應(yīng) 顯然不合理。需要在todo和notice save之后 向事件處理隊(duì)列或者pool里推送一個(gè)事件就立馬結(jié)束這個(gè)業(yè)務(wù),等待事件監(jiān)聽器起作用后異步處理。

d69f53ee0bf05ce22fa9947f4ed0eb2.png

save成功立馬post一個(gè)事件。

419e4bfdfe37086127b8d854edc6d28.png

監(jiān)聽器監(jiān)聽這個(gè)事件

image.png

監(jiān)聽到事件后異步執(zhí)行websocket推送就行了

上效果:

如何在項(xiàng)目里引入JFinal-event:

1、pom.xml 

版本3.1.3

image.png

2、配置插件

image.png

image.png

3、創(chuàng)建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 內(nèi)部事件監(jiān)聽處理 * @ClassName:  JBoltEventListener    * @author: JFinal學(xué)院-小木 QQ:909854136  * @date:   2021年10月6日    */public class JBoltEventListener {	private static final Log LOG = Log.getLog(JBoltEventListener.class);	/**	 * 全局通知事件監(jiān)聽處理	 * @param notice	 */	@EventListener(async = true)	public void sysNotice(SysNotice notice) {			}		/**	 * todo事件監(jiān)聽處理	 * @param todo	 */	@EventListener(async = true)	public void todo(Todo todo) {			}}

4、找到合適的地方執(zhí)行

EventKit.post(event)就行了

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多