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

西安模板建站定制北京市建筑信息平台

西安模板建站定制,北京市建筑信息平台,dw网页制作素材+教程,本地门户网站源码就好像门牌号一样#xff0c;我们需要把消息路由到对应的楼栋和楼层#xff0c;总不能像菜鸟一样让大家都来自己找数据吧。 首先这里我们参考了rabbitmq中的topic与tag模型#xff0c;topic对应类#xff0c;tag对应方法。 新增一个模块#xff0c;专门记录路由eternity-…        就好像门牌号一样我们需要把消息路由到对应的楼栋和楼层总不能像菜鸟一样让大家都来自己找数据吧。 首先这里我们参考了rabbitmq中的topic与tag模型topic对应类tag对应方法。 新增一个模块专门记录路由eternity-command ServerTag.java public interface ServerTag {/**** 打招呼*/int TAG_HELLO_HI 1;} ServerTopic.java public interface ServerTopic {/**** 问候*/int TOPIC_HELLO 1;} 然后再core中引入这个模块同时增加反射依赖 dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.reflections/groupIdartifactIdreflections/artifactIdversion0.9.10/version/dependencydependencygroupIdcom.loveprogrammer/groupIdartifactIdeternity-common/artifactIdversion1.0-SNAPSHOT/version/dependencydependencygroupIdcom.loveprogrammer/groupIdartifactIdeternity-command/artifactIdversion1.0-SNAPSHOT/version/dependency/dependencies 在core中增加一个文件夹 创建两个注解 TagListener import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.METHOD;Retention(RetentionPolicy.RUNTIME) Target(ElementType.METHOD) public interface TagListener {/*** 订阅的tag*/int tag() default 0;/*** 请求方消息类型*/Class? messageClass() default Object.class;}TopicListener Retention(RetentionPolicy.RUNTIME) Target(ElementType.TYPE) public interface TopicListener {/*** 订阅的主题*/int topic() default 0; } 接口IHandler public interface IHandler {}抽象实现类BaseHandler public abstract class BaseHandler implements IHandler{} hello实现类 import com.loveprogrammer.base.network.command.BaseHandler; import com.loveprogrammer.base.network.command.HandlerFactory; import com.loveprogrammer.base.network.command.anotation.TagListener; import com.loveprogrammer.base.network.command.anotation.TopicListener; import com.loveprogrammer.command.server.ServerTag; import com.loveprogrammer.command.server.ServerTopic; import io.netty.channel.Channel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component;/*** ClassName HelloHandler* Description 测试handler* Author admin* Date 2024/2/5 15:49* Version 1.0*/ Component TopicListener(topic ServerTopic.TOPIC_HELLO) public class HelloHandler extends BaseHandler {public static final Logger log LoggerFactory.getLogger(HelloHandler.class);TagListener(tag ServerTag.TAG_HELLO_HI,messageClass String.class)public void sayHi(Channel channel, String msg){log.info(say hi);} }创建监听器工厂 HandlerFactory import com.loveprogrammer.base.network.command.anotation.TopicListener; import org.reflections.Reflections; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component;import java.util.HashMap; import java.util.Map; import java.util.Set;/*** ClassName HandlerFactory* Description 监听器工厂* Author admin* Date 2024/2/5 11:21* Version 1.0*/ Component public class HandlerFactory implements CommandLineRunner {public static final Logger log LoggerFactory.getLogger(HandlerFactory.class);public MapInteger, Class handlerMap new HashMap();Overridepublic void run(String... args) throws Exception {// 找到所有实现类Reflections reflections new Reflections(com.loveprogrammer.base.network.command.handler);// 获取在指定包扫描的目录所有的实现类SetClass? extends BaseHandler classes reflections.getSubTypesOf(BaseHandler.class);for (Class? extends IHandler aClass : classes) {try {TopicListener listeners aClass.getAnnotation(TopicListener.class);Integer topic listeners.topic();handlerMap.put(topic, aClass);log.info(初始化消息监听器成功 {},aClass.getName());} catch (Exception e) {log.error(初始化 aClass.getName() 消息监听器失败,e);}}} }启动server查看监听器是否初始化成功。 2024-02-05 16:09:33.860 INFO 14144 --- [ main] c.l.base.network.command.HandlerFactory : 初始化消息监听器成功 com.loveprogrammer.base.network.command.handler.HelloHandler (♥◠‿◠) springboot启动成功 ლ(´ڡლ) 上一篇从零开始手写mmo游戏从框架到爆炸五— 集成springboot-CSDN博客 全部源码详见 gitee : eternity-online: 多人在线mmo游戏 - Gitee.com 分支step-06
http://www.pierceye.com/news/356064/

相关文章:

  • 天津网站建设的公司哪家好shopify和wordpress
  • 网站设计风格评价天元建设集团有限公司 伊永成
  • 望都网站建设山东的互联网公司都有什么
  • 开发一个网站需要多少人邢台网站建设服务商
  • 钦州建设局网站seo网站关键词优化机构
  • 北京工程信息网站网站建设及管理使用情况汇报
  • 网页网站原型图占位符怎么做公司宣传策划方案
  • 企业网站颜色选择wordpress自然志下载
  • 介绍几个网站重庆网站建设微信开发
  • wordpress小工具跟随最新外贸seo
  • 网站域名的密码电子商务网站策划书3500字
  • 2008 iis 添加 网站 权限设置权限网站开发工程师题
  • 公司域名查询网站网页设计工具软件有哪些
  • 毕业设计网站建设选题依据设计公司网站应该包括的信息
  • wordpress 仪表板主题seo网站排名厂商定制
  • 网站建设成本报表wordpress缺点
  • 外贸建站选择哪个服务器好免费自动生成二维码
  • 建设部申请自己网站c 做网站设计
  • 软件制作网站网站维护合同模板
  • 那家财经网站做的好陕西网站建设公司哪有
  • 淄川网站建设中小型企业网站建设
  • phpcms 投资 网站源码wordpress主题网站
  • 聊城网站托管义乌外贸公司联系方式
  • 开发一个小程序对网站做综合搜索引擎优化分析
  • 网站开发自学网有哪些企业可以做招聘的网站有哪些
  • 网站怎么做百度推广网站开发者模式
  • 学校网站设计制作目的做网站推广方法
  • wordpress建站云平台小程序商城开发平台
  • pc网站转换成微网站网站建设开发哪家质量好
  • wordpress网站使用教程aspnet东莞网站建设多少钱