优化spring+rabbitmq配置时的问题记录
来源:互联网 发布:医生在线回答软件 编辑:程序博客网 时间:2024/05/18 10:48
这两天刚写了spring整合rabbitmq监听mq的消费端代码。但是看wiki上大牛说:“凡是在程序中指定(Hard Coding-硬编码)所链接的Hostname或者IP以及用户密码的,只能是入门学习或者测试用途,上生产时的正规用法肯定是读取配置文件。。。。。。”所以我改成用properties文件引入。按照网上一套下来,发现启动报错:java.lang.IllegelArgumentException: could not resolve placeholder ‘rabbitmq_username’ in string value “${rabbitmq_username}”……
按照正常的网上说的配置方法。先写好rabbitmq.properties配置文件,注掉的是原来的配置:
rabbitmq.host=10.137.100.64rabbitmq.username=ZH.TRACErabbitmq.password=ZH.TRACErabbitmq.port=5672rabbitmq.vhost=vhost
然后修改content-rabbitmq.xml配置文件:
<context:property-placeholder location="classpath:rabbitmq.properties"/> <!-- 定义RabbitMQ的连接工厂 --> <bean id="connectionFactory" class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory"> <constructor-arg value="${rabbitmq.host}"/><!--服务器ip地址--> <property name="username" value="${rabbitmq.username}"/> <property name="password" value="${rabbitmq.password}"/> <property name="port" value="${rabbitmq.port}"/> <property name="virtualHost" value="${rabbitmq.vhost}"/> <property name="channelCacheSize" value="50"/> </bean><!-- <bean id="connectionFactory" class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory"> --><!-- <constructor-arg value="10.137.100.64"/>服务器ip地址 --><!-- <property name="username" value="ZH.TRACE"/> --><!-- <property name="password" value="ZH.TRACE"/> --><!-- <property name="port" value="5672"/> --><!-- <property name="virtualHost" value="vhost"/> --><!-- <property name="channelCacheSize" value="50"/> --><!-- </bean> -->
然后启动报错了。
原因分析:
由于项目本身已经在文件content-biz.mxl配置数据源的时候已经用了引入资源文件的方法。这里我又在content-rabbitmq.xml文件中使用:
这个引入资源的标签导致报错。没错,spring配置中的引入资源文件的标签 #placeholder# 只能出现一次,再出现就没啥作用了。
这是content-biz.xml中引入资源文件的部分代码:
<bean name="propertyConfiger" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="ignoreResourceNotFound" value="true"/> <property name="locations"> <list> <value>classpath:META-INF/app_config/init_config.properties</value> </list> </property>
所以,我们可以把content-rabbitmq.xml中的 删除,【配置文件都在同一个目录下】然后在content-biz.mxl中的这个标签中加上
classpath:META-INF/app_config/rabbitmq.properties,启动就可以了。
- 优化spring+rabbitmq配置时的问题记录
- spring的rabbitmq配置
- spring的rabbitmq配置
- RabbitMQ 命令配置记录
- RabbitMQ 问题 记录
- RabbitMQ 问题记录
- Spring + RabbitMQ 配置
- spring rabbitmq 整合配置
- spring-rabbitmq配置
- rabbitMQ配置spring boot
- window下rabbitmq的配置问题
- window下rabbitmq的配置问题
- RabbitMQ与spring集成,配置完整的生产者和消费者
- spring配置RabbitMQ的发送和接收demo
- 【Spring】配置项的优化
- spring配置rabbitMQ(Spring AMQP)
- Spring启动优化的问题
- Spring的配置问题
- SQLite 子查询
- iOS 获取相机与相册,上传服务器
- 452. Minimum Number of Arrows to Burst Balloons
- 电源:模组 & 非模组(一个码农眼中的 区别 & 选择)
- 效率工具使用帮助
- 优化spring+rabbitmq配置时的问题记录
- python报错——SyntaxError: Non-ASCII character '\xe7
- LeetCode 9. Palindrome Number
- String的一些思考
- mysql批量update语句优化
- sudo 环境变量的传递
- HDU 4427 Math Magic【DP+滚动数组】
- 基于tensorflow的人脸识别技术(facenet)的测试
- 强制类型转换时的异常处理_java与c++比较