Не удается разрешить системное свойство при использовании ссылки на него с помощью jboss-cli - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь очистить источник данных JNDI с помощью jboss-cli, но источник данных определяется с помощью переменной ${jndi.prefix}, и CLI, похоже, не может ее разрешить.

Здесьмой источник данных в standalone.xml:

<datasource jndi-name="${jndi.prefix}/CORE" pool-name="${jndi.prefix}/CORE_Pool" enabled="true" use-java-context="true" use-ccm="true">
    <connection-url>jdbc:sqlserver://10.222.255.100;DatabaseName=CORE</connection-url>
    <driver>sqlserver</driver>
    <pool>
        <min-pool-size>1</min-pool-size>
        <max-pool-size>10</max-pool-size>
        <prefill>true</prefill>
    </pool>
    <security>
        <user-name>CORE_DBO</user-name>
        <password>password</password>
    </security>
</datasource>

и jndi.prefix определены в system-properties:

<system-properties>
    <property name="jndi.prefix" value="java:"/>
</system-properties>

Я вижу его с помощью CLI, но при попытке решитьэто, мне говорят, что это не распознано:

[standalone@localhost:9990 /] cd system-property
[standalone@localhost:9990 system-property] cd jndi.prefix
[standalone@localhost:9990 system-property=jndi.prefix] ls
value=java:
[standalone@localhost:9990 system-property=jndi.prefix] /subsystem=datasources/data-source=${jndi.prefix}\/CORE_Pool/:read-resource
Unrecognized system property jndi.prefix

Я пытался поменять ${jndi.prefix} в источнике данных с буквальным значением java:, и это сработало, но у нас есть тонны сред, которые могли быбыть обновленным, поэтому мне не нравится это решение.

Почему CLI не может разрешить эту переменную, когда она четко определена?

1 Ответ

1 голос
/ 25 апреля 2019

Системные свойства, которые вы можете использовать в CLI, не определены в вашей конфигурации Wildfly:

Значения системных свойств, используемые в командах консоли управления, должны быть уже определены, чтобы их можно было разрешить. Вы должны либо передать файл свойств (--properties = / path / to / file.properties), либо пары значений свойств (-Dkey = value) при запуске экземпляра CLI управления. Файл свойств использует стандартный синтаксис KEY = VALUE.

( source для EAP, но, скорее всего, то же самое для Wildfly)

...