草庐IT

Apollo配置中心动态生效机制

看了其他大佬的文章记录一下自己追源码的过程。Apollo配置中心动态生效机制,是基于Http长轮询请求和Spring扩展机制实现的,在Spring容器启动过程中,Apollo通过自定义的BeanPostProcessor和BeanFactoryPostProcessor將参数中包含${…}占位符和@Value注解的Bean注册到Apollo框架中定义的注册表中。然后通过Http长轮询不断的去获取服务端的配置信息,一旦配置发生变化,Apollo会根据变化的配置的Key找到对应的Bean,然后修改Bean的属性,从而实现了配置动态生效的特性。需要注意的是,Apollo在配置变化后,只能修改Bean

Apollo配置中心动态生效机制

看了其他大佬的文章记录一下自己追源码的过程。Apollo配置中心动态生效机制,是基于Http长轮询请求和Spring扩展机制实现的,在Spring容器启动过程中,Apollo通过自定义的BeanPostProcessor和BeanFactoryPostProcessor將参数中包含${…}占位符和@Value注解的Bean注册到Apollo框架中定义的注册表中。然后通过Http长轮询不断的去获取服务端的配置信息,一旦配置发生变化,Apollo会根据变化的配置的Key找到对应的Bean,然后修改Bean的属性,从而实现了配置动态生效的特性。需要注意的是,Apollo在配置变化后,只能修改Bean

uniapp 给自定义组件或uview等ui组件加class样式或修改样式在微信小程序不生效的情况

原因:首先不论是自定义组件还是ui组件,本质上的原因都是微信小程序默认的组件隔离策略导致的。微信小程序组件隔离文档参考下面根据不同情况的解决方法:1.在原有class上修改样式比如我在uviewradio单选组件的原有class(.u-radio),修改样式出现不生效的情况.u-radio{ margin-right:25px; }解决:加上::v-deep即可::v-deep.u-radio{ margin-right:25px; }2.增加class比如我在uviewradio单选组件加了一个新的class(myClass)出现不生效的情况.myClass{ margin-right

uniapp 给自定义组件或uview等ui组件加class样式或修改样式在微信小程序不生效的情况

原因:首先不论是自定义组件还是ui组件,本质上的原因都是微信小程序默认的组件隔离策略导致的。微信小程序组件隔离文档参考下面根据不同情况的解决方法:1.在原有class上修改样式比如我在uviewradio单选组件的原有class(.u-radio),修改样式出现不生效的情况.u-radio{ margin-right:25px; }解决:加上::v-deep即可::v-deep.u-radio{ margin-right:25px; }2.增加class比如我在uviewradio单选组件加了一个新的class(myClass)出现不生效的情况.myClass{ margin-right

Spring事务不生效原因及解决方案

一.抛出事务不支持的异常原理:Spring事务默认支持RuntimeException异常,抛出的异常为RuntimeException异常及其子类异常事务均可生效,而我们日常常见的异常基本都继承自RuntimeException,所以无需指定异常类型事务也能生效。但若手动抛出Exception异常,而Exception是RuntimeException的父类,会导致事务不生效。解决方案:1.指定Spring事务异常捕获类型@Transactional(rollbackFor=Exception.class)2.抛出Spring事务支持的异常类型thrownewRuntimeException

Spring事务不生效原因及解决方案

一.抛出事务不支持的异常原理:Spring事务默认支持RuntimeException异常,抛出的异常为RuntimeException异常及其子类异常事务均可生效,而我们日常常见的异常基本都继承自RuntimeException,所以无需指定异常类型事务也能生效。但若手动抛出Exception异常,而Exception是RuntimeException的父类,会导致事务不生效。解决方案:1.指定Spring事务异常捕获类型@Transactional(rollbackFor=Exception.class)2.抛出Spring事务支持的异常类型thrownewRuntimeException

排查一次nacos动态配置不生效

一、问题描述新需求需要使用到nacos动态配置,但是开发完成之后联调过程中发现动态配置没有生效。二、问题排查首先在本地测试,发现启动服务后修改nacos配置确实不生效,在查看启动日志时发现服务启动时打印了下面这样的日志。这里是在配置nacos的监听,在A服务的启动日志中只看到了对dubbo的监听配置,没有看到对配置文件的监听,因此怀疑是对配置文件的监听没有注册成功。因为B也有动态配置,为了验证判断,在本地启动了B服务然后查看日志,发现启动时打印了下面的日志这段日志是注册对nacos配置文件的监听,因此可以确定是A服务启动时没有注册成功或没有注册对naocs配置文件的监听。3.通过查看nacos

排查一次nacos动态配置不生效

一、问题描述新需求需要使用到nacos动态配置,但是开发完成之后联调过程中发现动态配置没有生效。二、问题排查首先在本地测试,发现启动服务后修改nacos配置确实不生效,在查看启动日志时发现服务启动时打印了下面这样的日志。这里是在配置nacos的监听,在A服务的启动日志中只看到了对dubbo的监听配置,没有看到对配置文件的监听,因此怀疑是对配置文件的监听没有注册成功。因为B也有动态配置,为了验证判断,在本地启动了B服务然后查看日志,发现启动时打印了下面的日志这段日志是注册对nacos配置文件的监听,因此可以确定是A服务启动时没有注册成功或没有注册对naocs配置文件的监听。3.通过查看nacos

01_Unity事件函数OnMouseDown生效条件

前言Unity提供了OnMouseDown,OnMouseEnter,OnMouseExit等方法,这些方法可以很方便的帮助我们处理鼠标的时间响应。但是需要注意他的生效条件,最近我在制作视频课程的时候就遇到了点击不生效的问题:【植物大战僵尸】手把手教你做游戏——8.阳光拾取+僵尸生成,具体表现是点击阳光时会被僵尸遮挡,导致阳光拾取不生效。因此今天就来总结下鼠标响应事件的生效条件。条件1:类需要继承MonoBehaviour若要使用OnMouseDown方法,首要条件是确保继承MonoBehaviourpublicclassMyObject:MonoBehaviour{voidStart(){}

01_Unity事件函数OnMouseDown生效条件

前言Unity提供了OnMouseDown,OnMouseEnter,OnMouseExit等方法,这些方法可以很方便的帮助我们处理鼠标的时间响应。但是需要注意他的生效条件,最近我在制作视频课程的时候就遇到了点击不生效的问题:【植物大战僵尸】手把手教你做游戏——8.阳光拾取+僵尸生成,具体表现是点击阳光时会被僵尸遮挡,导致阳光拾取不生效。因此今天就来总结下鼠标响应事件的生效条件。条件1:类需要继承MonoBehaviour若要使用OnMouseDown方法,首要条件是确保继承MonoBehaviourpublicclassMyObject:MonoBehaviour{voidStart(){}