Загрузка свойств из файла в веб-приложении JBoss 6 - PullRequest
0 голосов
/ 02 ноября 2010

Могу ли я вывести файл свойств в один из каталогов JBoss 6 и выбрать его из classpath ?

Или, что еще лучше, кто-нибудь знает механизм, стоящий за файлом конфигурации, например $JBOSS_HOME/server/default/deploy/jboss-logging.xml?Изменения в этом файле, по-видимому, инициируют событие, так что работающий экземпляр может обрабатывать изменения (без необходимости отказов AS).

Ответы [ 4 ]

2 голосов
/ 05 ноября 2010

Можно настроить SystemPropertiesService в ./conf/jboss-service.xml.

. Это позволяет настроить system свойства на месте или загрузить их из файла свойств:

<server>
    <mbean code="org.jboss.varia.property.SystemPropertiesService"
           name="jboss.util:type=Service,name=SystemProperties">

        <!-- Load properties from each of the given comma seperated URLs -->
        <attribute name="URLList">
            http://somehost/some-location.properties,
            ./conf/somelocal.properties
        </attribute>

        <!-- Set propertuies using the properties file style. -->
        <attribute name="Properties">
            property1=This is the value of my property
            property2=This is the value of my other property
        </attribute>

    </mbean>
</server>

Для получения более подробной информации см .: http://docs.jboss.org/jbossas/admindevel326/html/ch10.html

1 голос
/ 28 января 2015

Они сделали это еще проще в JBoss EAP 6 (AS 7).

  1. Файл свойств передачи в качестве параметра запуска

Это можно добавить в главном запускеили передается как параметр

./standalone.sh  --properties=/Users/john.galt/dev/config/ds/jboss.properties 

Если эти свойства считаны, они будут отображены в журнале сервера в качестве первого оператора.

3:58:41,633 DEBUG [org.jboss.as.config] (MSC service thread 1-6) Configured system properties:
        DSsettings.password = password
        DSsettings.user-name = admin
        DSsettings.connection-url = jdbc:oracle:fat:@activedb:1521:DEV
        [Standalone] =
        awt.nativeDoubleBuffering = true

ПРИМЕЧАНИЕ. Поскольку эти параметры записываются в журналв журнале сервера убедитесь, что в файлах свойств в рабочем файле отсутствуют пароли в виде открытого текста

Использовать переданные в системных свойствах Вы можете использовать эти системные свойства со следующим синтаксисом.Пример использования в файле источника данных

<xa-datasource jndi-name="java:jboss/ds" pool-name="cPool" jta="true" enabled="true" use-ccm="true">
    <xa-datasource-property name="URL">

        ${DSsettings.connection_url}

    </xa-datasource-property>

    <driver>oracle</driver>
    ...
    <security>

        <user-name>${DSsettings.user-name}</user-name>

        <password>${DSsettings.password}</password>

    </security>
    ...

</xa-datasource>

0 голосов
/ 30 декабря 2014

В JBoss AS7 properties-service.xml больше не существует, ниже приведено решение:

http://www.mastertheboss.com/jboss-server/jboss-configuration/how-to-inject-system-properties-into-jboss

0 голосов
/ 12 сентября 2012

В JBoss 6 используйте: ./deploy/properties-service.xml

...