Как получить доступ к информации о развертывании моего EAR - PullRequest
1 голос
/ 23 февраля 2011

HI,

Я развертываю файл EAR в моем JBOSS 5.1.Я хочу иметь доступ к имени приложения EAR, которое хранится в файле развертывания "application.xml" в разделе "display-name".

Я хочу глубоко развернуть администраторское веб-приложение, как читать эту информацию и отображатьвесь модуль развернут из моего EAR

Я думаю, application.xml - это правильное место для поиска этой информации ...

Я попробовал:

InputStream in = new MyController().getClass().getResourceAsStream("META-INF/application.xml");

, но не работает!return null ...

Предложение?(код пожалуйста)

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

Добавьте косую черту в начале вашего пути:

InputStream in = new MyController().getClass().getResourceAsStream("/META-INF/application.xml");

Это должно работать.

Но я думаю, что лучшим решением будет использование JMX.Он предоставляет вам API более высокого уровня для доступа к ресурсам сервера приложений, включая развернутые приложения.Недостатком этого подхода является то, что я боюсь, что ваш код будет специфичным для JBoss.

0 голосов
/ 23 февраля 2011

Я решил:

    ClassLoader loader = getClass().getClassLoader();
    URL url = loader.getResource("META-INF/application.xml");
    BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
    while (true) {
        String line = reader.readLine();
        System.out.println(line);
        if (line == null) {
            break;
        }
    }

Таким образом, я решил проблему и печатаю содержимое для образца ...

но я ищу API высокого уровня для доступа к ресурсам сервера приложений ...

Какой лучший способ?

...