Wildfly CLI - отключить разрешение переменных среды? то есть записать неразрешенную переменную в конфиг

Я пытаюсь изменить конфигурацию работающего Wildfly (внутри Docker) с помощью интерфейса командной строки JBoss. Одна вещь, которую мне нужно сделать, это

data-source add --connection-url=jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:3306/xplore (...)

Мне нужно, чтобы полученная конфигурация в standalone.xml буквально содержала

<connection-url>jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:3306/xplore</connection-url>

DB_PORT_3306_TCP_ADDR is a variable that will be resolved by Wildfly when it's rebooted. It does not exist when I'm CLI-ing.

Проблема в том, что CLI пытается разрешить ее (и терпит неудачу) во время моего сеанса CLI (вместо того, чтобы вводить ее как простую строку), что приводит к выводу, как к ошибкам и даже

<connection-url>$</connection-url>

Я пытался обойти это, добавляя "..." и '...', экранируя $ до \$, удаляя скобки и определяя переменную, содержащую мою строку в скрипте, и вставляя эту переменную (все еще решается). Я просмотрел документы по этому вопросу, и, хотя есть команда resolve-expression(), нет ни обратной, ни настройки для нее, ничего. Предотвратить разрешение не представляется возможным.

Как я могу вставить неразрешенное выражение в свою конфигурацию через интерфейс командной строки?


person Marnes    schedule 23.04.2015    source источник


Ответы (1)


Ответ состоял в том, чтобы выдать эту команду:

data-source add --connection-url=jdbc:mysql://${DB_PORT_3306_TCP_ADDR:}:3306/xplore (...)

С : после ADDR. Это, очевидно, устраняет ошибку разрешения, поскольку теперь по умолчанию используется пустое значение, и каким-то образом это фактически приводит к записи самого строкового значения. Также оказалось, что не CLI разрешал мою переменную, а сам сервер.


Реальным решением было остановить сеанс, изменить настройки сервера и полностью отключить переменное разрешение, а затем начать новый сеанс.

person Marnes    schedule 23.04.2015
comment
ну, это должно быть ${env.DB_PORT_3306_TCP_ADDR}, и это будет работать нормально без каких-либо обходных путей. - person Tomaz Cerar; 08.08.2016
comment
@ctomc нет, это приведет к ошибке «WFLYCTL0211: невозможно разрешить выражение «$ {env.DB_PORT_3306_TCP_ADDR}». Марнес, как отключить переменное разрешение в конфиге сервера? - person cghislai; 02.12.2018