Spring踩坑记录
1. Spring properties配置项不能解析问题
本地部分配置文件迁到disconf,希望disconf的配置文件交由spring托管。这样的话,原有代码中引用配置的地方就不用变(还是用${key}的方式)。
在disconf上找到了配置方式:http://disconf.readthedocs.io/zh_CN/latest/tutorial-client/src/Tutorial5.html
结果启动后报异常,解析不了配置:Could not resolve placeholder
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'zookeeper.registry.address' in string value "${zookeeper.registry.address}"at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174)at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:204)at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:178)at org.springframework.context.support.PropertySourcesPlaceholderConfigurer$2.resolveStringValue(PropertySourcesPlaceholderConfigurer.java:175)at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveStringValue(BeanDefinitionVisitor.java:282)at org.springframework.beans.factory.config.BeanDefinitionVisitor.resolveValue(BeanDefinitionVisitor.java:209)at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitPropertyValues(BeanDefinitionVisitor.java:141)at org.springframework.beans.factory.config.BeanDefinitionVisitor.visitBeanDefinition(BeanDefinitionVisitor.java:82)at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:208)... 37 more
View Code
查看disconf的配置,断点,看到disconf交由spring托管的配置已经加载。
后面找到原因,是应用配置了多个 org.springframework.context.support.PropertySourcesPlaceholderConfigurer,导致了配置覆盖。
https://www.cnblogs.com/YingYue/p/5699962.html
保留的配置:
<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"><property name="ignoreUnresolvablePlaceholders" value="true" /><property name="locations"><list><value>classpath:xx.properties</value> </list></property> </bean>
放disconf的配置:
<!-- 使用托管方式的disconf配置(无代码侵入, 配置更改不会自动reload) --> <bean id="configproperties_no_reloadable_disconf"class="com.baidu.disconf.client.addons.properties.ReloadablePropertiesFactoryBean"><property name="locations"><list><value>config.properties</value></list></property> </bean><bean id="propertyConfigurerForProject1"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="ignoreResourceNotFound" value="true" /><property name="ignoreUnresolvablePlaceholders" value="true" /><property name="propertiesArray"><list><ref bean="configproperties_no_reloadable_disconf" /></list></property> </bean>
View Code
Spring踩坑记录相关推荐
- mybatis学习与踩坑记录
mybatis resultmap高级映射 应用场景:如果sql查询的列名和pojo的属性名不一致,可以使用resultMap将列名和pojo的属性名作一个对应关系,就可以映射成功了.(如果返回值为i ...
- 日常踩坑记录-汇总版
开发踩坑记录,不定时更新 心得 RTFM 严谨的去思考问题,处理问题 严格要求自己的代码编写习惯与风格 注意 单词拼写 20200207 mybatis plus 自带insert插入异常 sql i ...
- Canal 及canal.admin(v1.1.5)踩坑记录
网址:GitHub - alibaba/canal: 阿里巴巴 MySQL binlog 增量订阅&消费组件 前期软件准备 上面的软件包(canal.deployer-1.1.5.tar.gz ...
- springcloud踩坑记录1
idea使用spring intaller 创建eureka服务踩坑记录 1.SpringBoot与SpringCloud的版本号需要一一对应,具体内容请查看官网. 2.Maven引入Eureka包时 ...
- JPA使用@Modifying踩坑记录
JPA使用@Modifying踩坑记录 一.问题现象 开发过程中使用@Query和@Modifying批量删除数据失败,造成线上服务异常 二.问题排查 通过查看日志发现,执行批量删除出现错误日志: H ...
- 为Jupyter notebook配置R kernel过程及踩坑记录
为Jupyter notebook配置R kernel过程及踩坑记录 注意:本文为作者安装过程及折腾的过程,内容比较冗杂,如果读者想直接创建一个属于自己的子环境则参考: 如下文章: anaconda下 ...
- Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子
Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...
- TVM: Deep Learning模型的优化编译器(强烈推荐, 附踩坑记录)
本文作者是阿莱克西斯,原载于知乎,雷锋网(公众号:雷锋网)获得授权转载. (前排提醒,本文的人文内容部分稍稍带有艺术加工,请保持一定的幽默感进行阅读) 关注我最近想法的同学应该知道我最近都在把玩 TV ...
- 使用Java读取 “Python写入redis” 的数据踩坑记录
https://my.oschina.net/u/2338224/blog/3061507 使用Java读取 "Python写入redis" 的数据踩坑记录 https://seg ...
最新文章
- 47%德国企业认为人工智能较大的优势是提高生产效率
- SP-45ML光电二极管放大电路及其动态特性
- 实现点击下载文件的几种方法
- 决策树—ID3(源码解析)
- Python机器学习实践:决策树判别汽车金融违约用户
- [众包]Eclipse 运行简单亚马逊AMT模板
- android 设置view最大高度,android-在RecyclerView上设置最大高度
- moment获取几小时前_请问怎么把“多少小时前”精确到“多少小时多少分钟前”...
- 10. 大型网站核心架构要素
- 给自己一个anchor,挑战不可能
- oracle交叉运算符,Oracle语句优化44个规则详解
- BZOJ 3689: 异或之 可持久化trie+堆
- 如何压缩图片?手把手教你三种图片缩小的办法
- 记一个 Harvester SNAT 案例
- 重积分的计算机应用开题报告,重积分的数值计算【信息科学与技术专业】【毕业设计 文献综述 开题报告】.docx...
- ​微信公众号素材图片去哪找?
- Eureka注册中心上服务老是自动挂掉相关问题总结
- 【Hotel TV】三星商用TV解决方案
- Soundiron Bontastic Vintage Italian Chord Organ 复古意大利和弦风琴
- 简介企业如何通过企业erp系统实现智能化管理?