У меня есть свойства чтения сервера конфигурации из файла 'pdm-adipdm-inbound.properties', определенного в моем config-repo.
Теперь у меня есть клиент, который ссылается на этот сервер конфигурации для получения свойствчерез файл bootstrap.yml.
Где-то в моем коде я инициализирую контекст Spring, используя строку ниже
AbstractXmlApplicationContext springContext = new FileSystemXmlApplicationContext("KalidoRefDataTest.xml");
Содержимое файла KalidoRefDataTest.xml:
<context:component-scan base-package="pdm.inbound"/>
<bean id="tibcoConnectionFactoryKalidoRefData" class="com.tibco.tibjms.TibjmsConnectionFactory">
<property name="serverUrl" value="${jms.tibco.inbound.kalido.brokerUrl}" />
<property name="userName" value="${jms.tibco.inbound.kalido.ConnectionUsername}" />
<property name="userPassword" value="${jms.tibco.inbound.kalido.ConnectionPassword}" />
</bean>
Из исключения кажется, что свойство ' $ {jms.tibco.inbound.kalido.ConnectionUsername} ' не читается должным образом, но я могу прочитать то же свойство, введя аннотацию с помощью @Value($ {jms.tibco.inbound.kalido.ConnectionUsername}) в любом классе java, но в xml-файле происходит сбой.
Я не видел ни одного примера, когда свойство вводится в XML-файл с сервера конфигурации.Это вообще возможно?Может ли кто-нибудь помочь мне узнать это?Пожалуйста, дайте мне знать, если нужна дополнительная информация.Заранее спасибо.
Ниже приведены другие сведения, которые могут потребоваться для точного представления проблемы:
Трассировка стека исключений:
main] o.s.c.s.FileSystemXmlApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'tibcoConnectionFactoryKalidoRefData' defined in URL [file:E:/Workspace/inboundnew/src/main/distribution/zip/config/KalidoRefDataTest.xml]: **Could not resolve placeholder 'jms.tibco.inbound.kalido.brokerUrl' in value "${jms.tibco.inbound.kalido.brokerUrl}"**; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'jms.tibco.inbound.kalido.brokerUrl' in value "${jms.tibco.inbound.kalido.brokerUrl}"
2019-02-12 06:04:59.528 ERROR 8856 --- [ main] i.c.b.BusinessLogicMultiThreadingInvoker : Exception during Spring initialization: Invalid bean definition with name 'tibcoConnectionFactoryKalidoRefData' defined in URL [file:E:/Workspace/inboundnew/src/main/distribution/zip/config/KalidoRefDataTest.xml]: Could not resolve placeholder 'jms.tibco.inbound.kalido.brokerUrl' in value "${jms.tibco.inbound.kalido.brokerUrl}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'jms.tibco.inbound.kalido.brokerUrl' in value "${jms.tibco.inbound.kalido.brokerUrl}"
bootstrap.yml:
spring:
application:
name: pdm-adipdm-inbound
cloud:
config:
failFast: true # if it can't connect to configuration servers the application fails
env: default
label: ${EXEC_ENVIRONMENT:master} # what configuration to use for the environment (registry, gateway, etc)
#points to configuration server
uri: ${CONFIG_SERVER_URI:http://localhost:8888}