Ошибка разрешения заполнителей в приложении Springboot с сервером конфигурации

Я настраиваю сервер конфигурации для использования в приложении Springboot. Приложение было недавно перенесено из Spring в Springboot, поэтому большинство свойств используются в файлах applicationContext.xml.

Пример:

<bean id="rabbitConnectionFactory"  class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">      
    <property name="address" value="${rabbitmq.address}"/>
</bean>

Это вызывает исключение IllegalArgumentException: не удалось разрешить заполнитель

У меня также есть мой файл свойств конфигурации для загрузки некоторых свойств по префиксу, и я могу использовать свои свойства, если я объявлю их в классе ниже:

@Configuration
@ConfigurationProperties
public class ConfiguationProperties {}

Но я не хочу помещать все свойства в файл свойств конфигурации и сохранять мой applicationContext непосредственно загружающим свойства, используя синтаксис заполнителей, есть ли возможность?

1 ответ

Моя ошибка состояла в том, что путь к моим файлам конфигурации был неправильным, потому что мои файлы свойств находились в подкаталоге моего пути конфигурации ${config-path}/subdirectory/myapplication-dev.properties

Я удалил подкаталог, и он работает нормально. Кажется, что сервер конфигурации правильно загружает файлы свойств в classpath, только если он учитывает URL схемы:

 http://localhost:8888/${my-profile}/myapplication

и не:

http://localhost:8888/subdirectory/${my-profile}/myapplication

(событие, если я могу видеть свои свойства в веб-браузере с этим URL)

Другие вопросы по тегам