Определение пользовательских свойств в панели приложений — как получить значение в коде?

В веб-консоли администрирования IBM WebSphere можно перейти в Приложения -> Приложения предприятия WebSphere, выбрать приложение и щелкнуть ссылку «Пользовательские свойства». Будет страница для добавления пар ключ-значение. Как бы вы получили доступ к этим значениям из кода? Свойства, похоже, не попадают ни в системные свойства, ни в ServletContext.


person Maxim Suponya    schedule 09.01.2013    source источник
comment
Интересно. Я вижу это в WAS 8, но не в WAS 6.1. В WAS 6.1 я вижу только пользовательские свойства в Application Server > JVM, и эти свойства там становятся системными свойствами (мы их используем).   -  person dbreaux    schedule 10.01.2013
comment
Есть много мест, где появляются пользовательские свойства, например. JVM, веб-контейнер, WebSphere MQ, привязки наборов политик и многое другое, но этот конкретный вопрос касается приложений, и я не думаю, что они являются средством передачи информации из WebSphere (среда выполнения) в корпоративное приложение. Есть лучшие способы, как я описал в ответе ниже.   -  person Jacek Laskowski    schedule 10.01.2013
comment
Я опаздываю на вечеринку ... но на случай, если кто-то еще это увидит, 1) пользовательские свойства WebSphere действительно хороши и полезны, 2) dbreaux верен - вы читаете их в Java как обычное системное свойство: String propVal = System.getProperty("my.custom.property");   -  person FoggyDay    schedule 27.08.2014
comment
WAS 9 не отображается в System.getProperty() при добавлении из корпоративных приложений, как указано в OP.   -  person escape-llc    schedule 30.09.2019


Ответы (4)


Я никогда не видел, чтобы он использовался за всю мою 7-летнюю карьеру в IBM WebSphere Application Server. Я думаю, что если она когда-либо и использовалась, то настолько редко, что я бы назвал эту функцию пережитком прошлой версии IBM WebSphere, которая ее поддерживала.

Для настроек конфигурации приложения я настоятельно рекомендую web.xml для веб-приложений или @Resource аннотация для веб-приложений и других типов приложений.

person Jacek Laskowski    schedule 10.01.2013
comment
Просто проверяя свои серверы WAS 6.1 и 8.0, я вижу это в 8.0, но не в 6.1. - person dbreaux; 10.01.2013
comment
Я также никогда не видел его за свою 8-летнюю карьеру в IBM WebSphere :) И я думаю, что это что-то совершенно новое. Если это то, что я думаю (системные реквизиты на уровне приложения), это было бы очень удобно. Но это не работает ... так что, возможно, это не то, что я думаю, может быть, это позволяет только некоторым определенным свойствам, определенным IBM, настраивать работу приложения и не позволяет вам определять системные свойства. Может кто знает точно? - person Maxim Suponya; 14.01.2013

Этот ответ будет не совсем по теме, но он может решить проблему определения и установки свойств конфигурации для веб-приложений, управляемых WebSphere.

Ниже приведен самый простой способ определить параметры конфигурации для веб-приложения в WebSphere:

  1. Определите параметры веб-приложения, используя servlet параметры инициализации:

web.xml

<servlet>
  <servlet-name>my-servlet</servlet-name>
  <servlet-class>
    my.servlet.ClassName
  </servlet-class>
  <init-param>
    <param-name>someConfigurationPropertyName</param-name>
    <param-value>This Value Can Be Set</param-value>
  </init-param>
</servlet>
  1. Значение этих servlet параметров можно изменить с помощью Консоли веб-администрирования, вы найдете и сможете изменить их в Enterprise Applications > your-web-application-name > Initialize parameters for servlets
person Sergey Bespalov    schedule 17.08.2017

Я тестировал это на WAS ND 8.5. Добавление настраиваемого свойства в приложение добавляет его в файл deployment.xml.

Я обновил \DefaultApplication.ear со свойством name="testprop" value="true". Он обновляется здесь:

C:\WASNEW85\WebSphere\AppServer\profiles\Dmgr01\config\cells\cell01\applications\DefaultApplication.ear.ear\deployments\DefaultApplication.ear

Значение показывает:

<properties xmi:id="Property_1424805152486" name="testprop" value="true" description="test-forum" required="false"/>

Надеюсь, это поможет.

person mshenhouse    schedule 24.02.2015

Чтобы установить пользовательское свойство веб-контейнера в IBM WebSphere Application Server версии 7 или версии 8

  1. В административной консоли щелкните «Серверы», в разделе «Серверы» щелкните «Типы серверов», а в разделе «Типы серверов» щелкните «Серверы приложений WebSphere».
  2. Нажмите на сервер, к которому нужно применить пользовательское свойство.
  3. В разделе «Конфигурация» и «Настройки контейнера» нажмите «Настройки веб-контейнера», а в разделе «Настройки веб-контейнера» нажмите «Веб-контейнер».
  4. В разделе «Конфигурация» и «Дополнительные свойства» нажмите «Пользовательские свойства».
  5. На странице «Пользовательские свойства» нажмите «Создать».
  6. На странице настроек введите имя добавляемого настраиваемого свойства в поле «Имя» и значение, которое будет установлено для настраиваемого свойства, в поле «Значение». Обратите внимание, что некоторые свойства чувствительны к регистру.
  7. Нажмите «Применить» или «ОК».
  8. Нажмите «Сохранить» в появившемся окне «Сообщения».
  9. Перезапустите сервер, чтобы пользовательское свойство вступило в силу.

Чтобы установить пользовательское свойство веб-контейнера в IBM WebSphere Application Server версии 6:

  1. В административной консоли нажмите «Серверы» и в разделе «Серверы» нажмите «Серверы приложений».
  2. Нажмите на сервер, к которому нужно применить пользовательское свойство.
  3. В разделе «Конфигурация» и «Настройки контейнера» нажмите «Настройки веб-контейнера», а в разделе «Настройки веб-контейнера» нажмите «Веб-контейнер».
  4. В разделе «Конфигурация» и «Дополнительные свойства» нажмите «Пользовательские свойства».
  5. На странице «Пользовательские свойства» нажмите «Создать».
  6. На странице настроек введите имя добавляемого настраиваемого свойства в поле «Имя» и значение, которое будет установлено для настраиваемого свойства, в поле «Значение». Обратите внимание, что некоторые свойства чувствительны к регистру.
  7. Нажмите «Применить» или «ОК».
  8. Нажмите «Сохранить» в появившемся окне «Сообщения».
  9. Перезапустите сервер, чтобы пользовательское свойство вступило в силу.

Чтобы задать пользовательское свойство веб-контейнера в WebSphere Application Server версии 6 с помощью wsadmin:

  1. Создайте сценарий jacl для добавления/обновления пользовательского свойства.
  2. Убедитесь, что сервер работает.
  3. Запустите сценарий jacl в wsadmin, используя «wsadmin -f .jacl
  4. Перезапустите сервер, чтобы пользовательское свойство вступило в силу.
person Mihir    schedule 08.03.2016
comment
Как это отвечает на вопрос, то есть программный доступ к пользовательским свойствам? - person ᄂ ᄀ; 16.09.2017