Spring启动-无法覆盖RabbitMQ属性
我在使用Spring Boot配置RabbitMQ时遇到了一个问题 我需要覆盖应用程序的主机值。我使用JavaConfig方法。我也使用自动配置功能 因此,我将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.rabbitmq.host=myhost.com
属性放入application.properties
中,但rabbitmqConnectionFactory
仍然使用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引导应用程序,而不是测试用例。