idea怎么创建web项目目 No mapping for GET ?

通过篇文章,将会用到以下的内容项,可以在生产中直接使用

  • RocketMQTemplate模板类的各种使用,如顺序消息、异步消息、响应消息、单向消息、指定消息key等等

  • RocketMQ多租户/环境自动隔离topic/group/tag,如只需要配置基础的topic、group、tag,部署到dev、test、prod环境自动隔离,只需要写一次配置;多租户同样适用

  • 下一篇文章分享在企业级项目中RocketMQ的二次封装,达到核心代码抽离,实现类只需要关注业务模块,日志记录,自动重试啥啥的全都扔给抽象层

  • 抽象层是解耦、复用的一大有效手段,需要结合业务、设计模式、实战经验,抽象出一个适合自身项目的抽象层

  • 这篇文章分享的是高级部分,并非基础RocketMQ,所以RocketMQ基础使用、RocketMQ控制台等基础部分不会过多说明

  1. 从上面代码中可以看到,topic等信息通过代码常量方式维护,此时如果不对环境进行隔离,将会导致消息被错误的环境消费
  2. 其中一种解决方案是通过$Value注入,但是这个需要每个环境都维护自己的topic等信息
  3. 我们可以进行环境区分自动隔离,比如dev、test、prod等不同环境只需要简单配置一个选项,所有的消息将被自动隔离,这样当协作人员需要单独测试的时候较为方便

多环境自动隔离这部分实用性五颗星

  1. 配置文件中增加属性配置

    # 启动隔离,会自动在topic上拼接激活的配置文件,达到自动隔离的效果
  2. 配置Bean修改配置,自动隔离核心原理

  3. 监听器类脑袋上面有@Component注解,所以一定会被Spring收拾到容器中
  4. 所以可以在初始化前,把监听器类的topic/group/tag神不知鬼不觉给改掉,然后实例化的时候用的就是改后的值
  5. 可以选择隔离topic/group/tag或者全部隔离,如果是多租户那就拼接多租户信息即可
    
     

3. 启动项目,从控制台中可以看到当开启隔离的时候会自动在topic后面加上隔离名称

我要回帖

更多关于 基于web的开源组态框架 的文章

 

随机推荐