Как бы я получить IP-адрес (а) что GlassFish запущен на в веб-приложения?
Вы можете получить такую информацию в ServletRequest
, например. port.
Я хотел бы также сделать снимок конфигурации, JDBC соединений, JMS, JNDI и т.д. Возможно ли это?
Вам нужно будет полагаться на метаданные соединения или фабрики соединений. Если вы опасаетесь, что это не совсем переносимо, но вы должны иметь возможность получить некоторую информацию, например. JDBC metadata.
Вы также можете подключить фасоль JMX Glassfish. Я сделал это один раз из веб-приложения, чтобы отслеживать соединение, которое было распределено с течением времени. Если вы знаете имя компонентов JMX для поиска (например, если вы знаете имя источника данных), вы можете получить там вагон. В основном все, что есть на дисплее консоли Glassfish.
Возможно, вы можете собрать всю информацию при запуске с ServletContextListener
, а затем сохранить их где-нибудь, чтобы выплюнуть их в случае исключения.
Обратите внимание, что вы можете раскрыть потенциальную конфиденциальную информацию конечному пользователю, что не рекомендуется.
Правда, но что, если сервер многопользовательский? Могу ли я получить то, на что он настроен для прослушивания? – 2010-02-05 17:16:09
Вы имеете в виду, что не знаете, в каком домене Glassfish будет развернуто ваше приложение? – ewernli
Правильно, я развертываю приложение в кластере и хочу, чтобы веб-приложение узнало, где оно находится. Как я могу сказать, где он находится, или понять это? – 2010-02-05 20:01:25