Spring启动-无法覆盖RabbitMQ属性

Spring启动-无法覆盖RabbitMQ属性,rabbitmq,spring-boot,Rabbitmq,Spring Boot,我在使用Spring Boot配置RabbitMQ时遇到了一个问题 我需要覆盖应用程序的主机值。我使用JavaConfig方法。我也使用自动配置功能 因此,我将spring.rabbitmq.host=myhost.com属性放入application.properties中,但rabbitmqConnectionFactory仍然使用localhost值创建 UPDATE1:我的嵌入式Tomcat实例似乎没有在属性文件中获取更新。我添加了一些自定义属性,Spring无法解析它的占位符。 我在I

我在使用Spring Boot配置RabbitMQ时遇到了一个问题

我需要覆盖应用程序的主机值。我使用JavaConfig方法。我也使用自动配置功能

因此,我将
spring.rabbitmq.host=myhost.com
属性放入
application.properties
中,但rabbitmq
ConnectionFactory
仍然使用localhost值创建

UPDATE1:我的嵌入式Tomcat实例似乎没有在属性文件中获取更新。我添加了一些自定义属性,Spring无法解析它的占位符。 我在IntellijIdea 14中运行我的应用程序,作为一个普通java应用程序。 IntellijIdea和Tomcat会获取所有类更改,但不会获取所有资源文件夹内容

这是与IntellijIdea 14相关的问题吗


提前感谢。

如果您从测试用例中执行此操作,请确保使用:

@ContextConfiguration(initializers = ConfigFileApplicationContextInitializer.class)
对于测试类


我认为
初始值设定项的名称应该是它自己的。

问题已经解决。IntellijIdea 14和13 Gradle项目设置/文件兼容性存在问题。因此,重新导入项目是一个解决方案。

您是否也有“spring.rabbitmq.addresses”?或者您是否创建了类型为
RabbitProperties
的bean?@DaveSyer,不,我没有
spring.rabbitmq.addresses
。我应该吗?不,我没有创建
RabbitProperties
bean。我已经调试了
RabbitAutoConfiguration
类,并且
RabbitProperties
带有
localhost
值。您的application.properties文件在哪里?是否拾取在其中配置的任何其他属性?我将application.properties放入resources/config/application.properties。我没有任何其他属性文件。顺便说一句,这个文件运行良好,我能够检索我的自定义属性并覆盖server.port属性。我还可以在命令行参数中覆盖RabbitMQ,但不能在属性文件中覆盖。感谢这个技巧,但不幸的是,我正在尝试运行Spring引导应用程序,而不是测试用例。