文章 62
浏览 15135
spring的STOMP落地实践

spring的STOMP落地实践

背景 公司有个主系统 A,这个系统将来用途作为 SaaS 服务系统,设计尽可能保持纯粹,不要引入过多的中间件技术 其下有 B,C 甚至未来还有多个子系统,现在的需求是需要当子系统 B,C 开启了某个配置,需要对接 A 系统,A 系统能够提供 B,C 系统的能力赋能,当 BC 断开配置,B,C 又是个纯粹可以单独运行的系统,某个系统不共用同一套数据,拥有自己的环境和数据,当子系统开启了配置,相关接口功能需要限制,由主系统提供能力,断开配置,A.B,C 三个系统能够独立运行 功能拆分 主系统: 对主系统相关的增量和全量接口数据进行同步传输:这里有两个关键点 有许多增量接口需要进行同步传输&&传输数据的逻辑不能影响原先的业务逻辑(通过 AOP 注解) 需要找到一个类型消息队列 mq 那种形势进行数据同步,A 系统数据发生改动子系统能够感知 但是这个系统不能引入过多的中间件,最终经过调研,选择使用了 Spring 的 STOMP 和 Spring event 事件实现一种伪消息队列 子系统: 子系统相关接口限制:通过 AOP 接口限制 子系统需要接收主系统的全量和增量数据 (S....

"超越静态的境界:Spring设计哲学中的依赖注入与状态管理"

Spring 的依赖注入之谜:Spring 为何不拥抱静态字段 发表日期:2024 年 01 月 05 日 阅读时长:约 4 分钟 专栏标签:Spring 在 Spring 的世界里,每一个 bean 的成长都离不开一系列精心的培育过程。这个过程通常涵盖以下几个阶段: 反射孕育实例——通过反射机制创建 bean 实例。 属性的滋养——为 bean 填充属性,赋予其生机。 激活生命之火——初始化 bean,让其具备完整功能(可能伴随增强处理)。 谋划离别之时——注册 bean 的销毁方法,为其终结做好准备。 在这个生命周期中,“属性的滋养”阶段尤为关键,它正是在 populateBean 方法中得以实施。在这一过程中,除了通过 applyPropertyValues 方法直接填充属性外,大量的注入逻辑实际上是在 InstantiationAwareBeanPostProcessor 接口的 postProcessProperties 方法内实现的。这里对我们耳熟能详的 @Autowired 和 @Resource 注解进行了诠释。 protected void populateBean(....

人民有信仰 民族有希望 国家有力量