同时配置redis和hbase的配置文件遇到的问题
2018-01-01 21:31
232 查看
问题以及分析:
redis和hbase的xml的配置文件要分别读取不同的properties文件以获取配置信息,但是
Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的Bean就会停止对剩余PropertyPlaceholderConfigurer的扫描(Spring 3.1已经使用PropertySourcesPlaceholderConfigurer替代PropertyPlaceholderConfigurer了)。
而这个基于命名空间的配置,其实内部就是创建一个PropertyPlaceholderConfigurer Bean而已。换句话说,即Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或),其余的会被Spring忽略掉,这就导致了redis的properties文件可以读取到,而hbase的properties文件读取不到
解决办法:
不再用<context:property-placeholder location="file:/opt/search/resourse/ps_redis.properties"/>这种方式,使用
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="fileEncoding" value="UTF-8" />
<property name="locations">
<list>
<value>file:/opt/search/resourse/hbase.properties</value>
<value>file:/opt/search/resourse/ps_redis.properties</value>
</list>
</property>
</bean>
<!-- Redis配置 -->
<import resource="/redis.xml" />
<!-- Hbase配置 -->
<import resource="classpath:/spring-hbase.xml" />
redis和hbase的xml的配置文件要分别读取不同的properties文件以获取配置信息,但是
Spring容器采用反射扫描的发现机制,在探测到Spring容器中有一个org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的Bean就会停止对剩余PropertyPlaceholderConfigurer的扫描(Spring 3.1已经使用PropertySourcesPlaceholderConfigurer替代PropertyPlaceholderConfigurer了)。
而这个基于命名空间的配置,其实内部就是创建一个PropertyPlaceholderConfigurer Bean而已。换句话说,即Spring容器仅允许最多定义一个PropertyPlaceholderConfigurer(或),其余的会被Spring忽略掉,这就导致了redis的properties文件可以读取到,而hbase的properties文件读取不到
解决办法:
不再用<context:property-placeholder location="file:/opt/search/resourse/ps_redis.properties"/>这种方式,使用
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="fileEncoding" value="UTF-8" />
<property name="locations">
<list>
<value>file:/opt/search/resourse/hbase.properties</value>
<value>file:/opt/search/resourse/ps_redis.properties</value>
</list>
</property>
</bean>
<!-- Redis配置 -->
<import resource="/redis.xml" />
<!-- Hbase配置 -->
<import resource="classpath:/spring-hbase.xml" />
相关文章推荐
- spring同时集成redis和mongodb时遇到多个资源文件加载的问题
- spring同时集成redis和mongodb时遇到多个资源文件加载的问题
- hbase 0.96 单机伪分布式配置文件及遇到的问题 find命令
- 配置Hadoop&Hbase遇到的问题与解决
- 转载VS2008 编译出来的exe文件,运行遇到“应用程序配置不正确,程序无法启动”的问题
- hbase进行osgi bundle化以后配置文件加载问题
- win7 web开发遇到的问题-由于权限不足而无法读取配置文件,无法访问请求的页面
- win7 web开发遇到的问题-由于权限不足而无法读取配置文件,无法访问请求的页面
- 配置文件中遇到的问题
- Spring配置web.xml文件时遇到的问题
- solr1.4.1多核心配置遇到的问题【solrConfig.xml中dataDir目录的设置,而不是solr.xml文件中的目录设置】
- 从外部配置文件SHELL字符串拼接遇到的问题
- 今天遇到一个问题才知道如果安装了命名实例 SSIS Service 需要手动更改配置文件
- win7 web开发遇到的问题-由于权限不足而无法读取配置文件,无法访问请求的页面
- 关于struts2在struts.xml配置文件遇到的问题
- 我遇到的问题JspSmartUpload组件实现表单和文件同时上传
- hbase进行osgi bundle化以后配置文件加载问题
- 有关oracle遇到日期显示问题,导入导出,安装,卸载,修改listener配置文件,创建用户和表空间等的部分问题.
- Remoting 配置文件遇到的问题
- Centos6.5下rsync文件同步安装及配置当中遇到的问题及解决方法