Невозможно переопределить URL AMQ в project-defaults.yml с помощью переменной среды - PullRequest
0 голосов
/ 05 июня 2019

У меня было это в project-defaults.yml :

swarm:
  resource-adapters:
    resource-adapters:
      activemq-rar:
        archive: activemq-rar.rar
        transaction-support: LocalTransaction
        config-properties:
          ServerUrl:
            value: tcp://amq:61616?jms.rmIdFromConnectionId=true
          UserName:
            value: myuser
          Password:
            value: mypw

Теперь я пытаюсь переопределить ServerUrl, UserName и Password переменными среды, чтобы иметь возможность запустить это вразные среды.Мои первые тесты показали, что мне нужно сначала удалить свойства из project-defaults.yml .Я устанавливаю следующие переменные среды:

  - SWARM_RESOURCE_DASH_ADAPTERS_RESOURCE_DASH_ADAPTERS_ACTIVEMQ_DASH_RAR_CONFIG_DASH_PROPERTIES_SERVERURL_VALUE=tcp://amq:61616?jms.rmIdFromConnectionId=true
  - SWARM_RESOURCE_DASH_ADAPTERS_RESOURCE_DASH_ADAPTERS_ACTIVEMQ_DASH_RAR_CONFIG_DASH_PROPERTIES_USERNAME_VALUE=myuser
  - SWARM_RESOURCE_DASH_ADAPTERS_RESOURCE_DASH_ADAPTERS_ACTIVEMQ_DASH_RAR_CONFIG_DASH_PROPERTIES_PASSWORD_VALUE=mypw

Это работает для пароля, но для URL сервера я получаю это, когда приложение пытается запустить:

2019-06-05 13:36:57,867 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 15) MSC000001: Failed to start service jboss.ra.deployment."activemq-rar.rar_activemq-rar": org.jboss.msc.service.StartException in service jboss.ra.deployment."activemq-rar.rar_activemq-rar": WFLYJCA0046: Failed to start RA deployment [activemq-rar.rar]
    at org.jboss.as.connector@15.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.AbstractResourceAdapterDeploymentService$2.run(AbstractResourceAdapterDeploymentService.java:341)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
    at java.base/java.lang.Thread.run(Thread.java:834)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: org.jboss.jca.deployers.common.DeployException: IJ020060: Unable to inject: org.apache.activemq.ra.ActiveMQResourceAdapter property: serverurl value: tcp://amq:61616?jms.rmIdFromConnectionId=true
    at org.jboss.ironjacamar.impl@1.4.11.Final//org.jboss.jca.deployers.common.AbstractResourceAdapterDeployer.createObjectsAndInjectValue(AbstractResourceAdapterDeployer.java:1267)
    at org.jboss.as.connector@15.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.ResourceAdapterXmlDeploymentService$WildFlyRaXmlDeployer.doDeploy(ResourceAdapterXmlDeploymentService.java:190)
    at org.jboss.as.connector@15.0.1.Final//org.jboss.as.connector.services.resourceadapters.deployment.ResourceAdapterXmlDeploymentService.start(ResourceAdapterXmlDeploymentService.java:128)
    at org.jboss.msc@1.4.5.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)
    at org.jboss.msc@1.4.5.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)
    at org.jboss.msc@1.4.5.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
    at org.jboss.threads@2.3.2.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
    at java.base/java.lang.Thread.run(Thread.java:834)

Мы можем видеть, что оно имеетправильное значение URL сервера, но не может его вставить.Как я могу это исправить?Я использую Thorntail 2.4.0.Final и запускаю приложение в контейнере Docker.

Я мог бы использовать несколько конфигурационных файлов yml, но было бы проще использовать переменные среды.

Редактировать:

На самом деле та же проблема с именем пользователя, можно установить только пароль.Это начинает звучать так, как будто работает так, как задумано, позволяя устанавливать только пароль с переменной окружения ...

...