当前位置: 首页 > news >正文

中卫市建设局网站 冯进强只做移动端的网站

中卫市建设局网站 冯进强,只做移动端的网站,一般使用的分辨率的显示密度是,网页设计师需要学什么专业背景 公司的项目以前代码里面有存在使用spring自带发布订阅的代码#xff0c;因此稍微学习一下如何使用#xff0c;并了解一下这种实现方式的优缺点。 优点 实现方便#xff0c;代码方面基本只需要定义消息体和消费者#xff0c;适用于小型应用程序。不依赖外部中间件因此稍微学习一下如何使用并了解一下这种实现方式的优缺点。 优点 实现方便代码方面基本只需要定义消息体和消费者适用于小型应用程序。不依赖外部中间件因而不需要复杂的配置、部署。 缺点 无法提供消息持久性项目一旦重启消息就会丢失因而不适合实现延迟队列。对比消息队列无法实现复杂的消息过滤、路由过滤。无法实现跨应用程序的事件通信。不同应用程序之间的事件发布和订阅更为容易。 发布订阅模式的优缺点我就不说了就说说不同实现方式之间的优缺点。 一、创建消息类 消息类需要继承ApplicationEvent类。因为java调用构造函数的机制就是默认会调用父类的构造函数而ApplicationEvent类只有一个单参数的构造函数无法自动调用每个构造函数都需要显式调用父类的构造函数。也就是super(source); package org.jeecg.modules.test.testPublic; import org.springframework.context.ApplicationEvent; import java.util.Objects;/*** ClassName: MyEvent* Author: zjc* Date: 2023/8/30 18:22* Description:**/ public class MyEvent extends ApplicationEvent {private String taskId;private Integer sourceType;public MyEvent(Object source) {super(source);}/**** param source 触发事件的对象可随便传不过建议传自己可能用得到的对象。好像在调用放直接this的挺多* param taskId 任务id自己定义的事件要处理的内容* param sourceType 自己定义的源类型用来在多场景触发情况下区分不同场景的标志* return: null**/public MyEvent(Object source,String taskId,Integer sourceType) {super(source);this.taskIdtaskId;this.sourceTypesourceType;}public String getTaskId() {return taskId;}public void setTaskId(String taskId) {this.taskId taskId;}public Integer getSourceType() {return sourceType;}public void setSourceType(Integer sourceType) {this.sourceType sourceType;}Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;MyEvent myEvent (MyEvent) o;return Objects.equals(taskId, myEvent.taskId) Objects.equals(sourceType, myEvent.sourceType);}Overridepublic int hashCode() {return Objects.hash(taskId, sourceType);}Overridepublic String toString() {return MyEvent{ taskId taskId \ , sourceType sourceType };} } 二、发布消息 发布消息可以直接使用ApplicationContext对象调用publishEvent方法。因为ApplicationContext接口继承了ApplicationEventPublisher接口。注意消息类必须要继承ApplicationEvent类才能作为参数发布消息。 package org.jeecg.modules.test.testPublic;import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** ClassName: EventController* Author: * Date: 2023/8/31 17:53* Description:**/ RestController Api(test) RequestMapping(/test) public class EventController {Autowiredprivate ApplicationContext applicationContext;ApiOperation(testEvent)GetMapping(/testEvent)public void testEvent(){MyEvent myEventnew MyEvent(this,123456,1);applicationContext.publishEvent(myEvent);}ApiOperation(testEvent1)GetMapping(/testEvent1)public void testEvent1(){MyEvent myEventnew MyEvent(this,123456,2);applicationContext.publishEvent(myEvent);} } 三、监听消息 监听消息类需要实现ApplicationListener接口并通过泛型传入要监听的消息类并重写onApplicationEvent方法。spring内的同一个消息可以有多个监听类一旦监听到消息监听该消息的全部监听类都会执行。 监听类1 package org.jeecg.modules.test.testPublic;import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component;/*** ClassName: MyEventListener* Author: * Date: 2023/8/31 17:50* Description:**/ Component public class MyEventListener implements ApplicationListenerMyEvent {Overridepublic void onApplicationEvent(MyEvent event) {System.out.println(消费者开始消费event.toString()event.getSource().toString());} } 消费者2 package org.jeecg.modules.test.testPublic;import org.springframework.context.ApplicationListener; import org.springframework.stereotype.Component;/*** ClassName: MyEventListener* Author: * Date: 2023/8/31 17:50* Description:**/ Component public class MyEventListener1 implements ApplicationListenerMyEvent {Overridepublic void onApplicationEvent(MyEvent event) {System.out.println(消费者1开始消费event.toString()event.getSource().toString());} } 四、测试 调用testEvent接口 调用testEvent1接口 结果均符合预期可以通过在消息体里面加一个字段来区分消息来着不同的触发场景。 即使没有在结构体加上区分消息来源的标识也可以用消息一开始传入的源对象来大概定位到是哪一个类里面触发的消息。
http://www.zqtcl.cn/news/704737/

相关文章:

  • 云南网站备案查询山西做网站费用
  • 北京建站管理系统开发网站高转化页面
  • 南充网站制作不会做网站能做网络销售吗
  • 这2个代码 找做网站的 安装一下搜索引擎排行榜
  • 百度收录收费 重大网站网络空间设计说明怎么写
  • 网站开发 php模板图书馆网站建设的项目报告
  • 保定模板建站定制网站wordpress 收集
  • 万网 网站模板软件开发三个主要阶段
  • 网站首页psd格式怎么做seo关键词有哪些类型
  • 做部队网站技术vue做购物网站
  • 品牌网站建设服务机构wordpress英文改中文
  • 系统开发费外链优化方法
  • 网站建设公司起名网站构建的友情链接怎么做
  • 网站建设湖南wordpress 缓存时间
  • 木藕设计网站大全福州网络营销推广产品优化
  • 建设银行网上官方网站怎么批量修改wordpress文章内容
  • 多肉建设网站的目的及功能定位app网站开发成本
  • 如何保存网站上的图片不显示图片报纸网站建设
  • 网站营销的流程品牌推广方式有哪些
  • 网站开发的条件美术字设计
  • 网站可以自己做服务器么wordpress架站教程
  • 用ps怎么做网站导航条怎么做部署iis网站
  • 酒店 网站构建怎么创建自己的网址
  • 江苏推广网站建设业务个人工作室网站源码带后台
  • 色一把做最好的网站赤峰微信网站建设
  • 指定网站长期建设 运营计划网站淘宝客 没备案怎么做
  • 绵阳网站推广排名知名商业网站有哪些
  • 简要描述创建商务站点的商务天津建设工程合同备案网站
  • 做展示空间设计的网站wordpress调用作品分类
  • 网站怎么做访问量统计百度百科怎么创建自己