Ссылка на системное свойство в jboss-web.xml не разрешается при запуске сервера - PullRequest
2 голосов
/ 09 июня 2011

Я использую JBoss 5 и службу системных свойств, чтобы установить некоторые системные свойства, которые нужны моему приложению (ear with war). Одним из них является имя виртуального хоста, на которое ссылается jboss-web.xml:

<jboss-web>
  <context-root>/</context-root>
  <virtual-host>${my.host.system.prop}</virtual-host>
  ...
  <depends>jboss:type=Service,name=SystemProperties</depends>
</jboss-web> 

Обратите внимание на зависимость от службы SystemProperties.

Однако при запуске сервера мое приложение загружается до того, как будут установлены системные свойства. Перераспределение, касаясь уха, решает проблему. Интересно, что из журнала видно, что служба SystemProperties действительно загружается до развертывания моего приложения.

У кого-нибудь есть идеи? Я не хочу прибегать к установке реквизита в JAVA_OPTS, если смогу помочь.

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Где вы определили свои SystemProperties?У меня была похожая проблема с JBoss 4.2, и моя проблема была решена путем помещения определения mbean в файл conf / jboss-service.xml вместо его размещения в каталоге развертывания.Это приводит к тому, что SystemProperties mbean загружается при запуске jboss.

Единственным недостатком этого решения является то, что вы теряете возможность горячего развертывания SystemProperties mbean.

0 голосов
/ 05 апреля 2012

Разверните свои Systemproperties как собственный SystempropertiesService, например, в виде файла "myapp-properties-service.xml"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE server>
<server>
<mbean code="org.jboss.varia.property.SystemPropertiesService"
    name="jboss:type=Service,name=myAppSystemProperties">

            <!-- relative path of server profile, 
                 comma separated list of propertyfiles-->
    <attribute name="URLList">
        ./conf/props/myapp-system.properties,./conf/props/myapp-otherstuff.properties
    </attribute>
</mbean>

Теперь убедитесь, что myAppSystemPropertiesService включается, прежде чем ваше приложение выполнит,Мы решили эту проблему, поместив ее объявление в каталог "deployers" вместо каталога "deploy".Службы, объявленные в папке «deployers», развертываются раньше, чем в «deploys».Например:

jboss-5.1.0.GA/server/default/deployers/myapp-properties-service.xml
jboss-5.1.0.GA/server/default/props/myapp-system.properties
jboss-5.1.0.GA/server/default/props/myapp-otherstuff.properties
...