Получить имя и версию сервера приложений Java - PullRequest
24 голосов
/ 16 сентября 2011

Я пишу веб-приложение на Java, и это WAR-приложение может быть развернуто на разных серверах приложений, таких как Tomcat / JBoss / Jetty / Weblogic.

В целях диагностики я хотел бы реализовать динамическую веб-страницу для сбора различной информации о среде / системе, чтобы клиент мог предоставить эту информацию инженерам службы поддержки для диагностики.

Одна полезная информация - это имя и версия сервера приложений, на которых развернуто это приложение, например Tomcat 7.0, JBoss 5.1.0, Glassfish 3.0 и т. Д.

Мне просто интересно, существует ли какой-нибудь стандартный способ для получения имени и версии сервера приложений с разных серверов приложений JEE.

Ответы [ 3 ]

27 голосов
/ 16 сентября 2011

Я нашел код для получения информации о сервере, на котором вы развернули свое приложение.
Этот код написан на сервлете для получения информации о сервере, на котором он запущен.

String str1 = getServletContext().getServerInfo();

Таким образом вы получите имя сервера и информацию о версии сервера.

Я думаю, это поможет тебе ...

1 голос
/ 16 сентября 2011

Я не думаю, что есть простой способ сделать это, но я знаю, что вы можете определить tomcat по проверке свойств системной среды

 -- listing properties --
 java.util.logging.config.file=/home/willie/.netbeans/7.0/apache-tom...
 user.dir=/home/willie/apache-tomcat-7.0.14/bin
 java.runtime.version=1.6.0_26-b03
 java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
 java.endorsed.dirs=/home/willie/apache-tomcat-7.0.14/end...
 os.arch=amd64
 java.io.tmpdir=/home/willie/.netbeans/7.0/apache-tom...
 java.naming.factory.url.pkgs=org.apache.naming
 os.name=Linux
 sun.jnu.encoding=UTF-8
 java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.26/jre/...
 tomcat.util.scan.DefaultJarScanner.jarsToSkip=bootstrap.jar,commons-daemon.jar,tomc...
 java.specification.name=Java Platform API Specification
 java.class.version=50.0
 sun.management.compiler=HotSpot 64-Bit Tiered Compilers
 os.version=2.6.38-8-generic
 user.home=/home/willie
 user.timezone=Africa/Johannesburg
 catalina.useNaming=true
 java.awt.printerjob=sun.print.PSPrinterJob
 java.specification.version=1.6
 file.encoding=UTF-8
 catalina.home=/home/willie/apache-tomcat-7.0.14
 user.name=willie
 java.class.path=/home/willie/apache-tomcat-7.0.14/bin...
 java.naming.factory.initial=org.apache.naming.java.javaURLContext...
 sun.security.krb5.debug=false
 package.definition=sun.,java.,org.apache.catalina.,org.a...
 java.vm.specification.version=1.0
 sun.arch.data.model=64
 java.home=/usr/lib/jvm/java-6-sun-1.6.0.26/jre
 sun.java.command=org.apache.catalina.startup.Bootstrap...
 catalina.base=/home/willie/.netbeans/7.0/apache-tom...
 file.separator=/
 java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport...
 common.loader=${catalina.base}/lib,${catalina.base}..

, которую вы можете проверить для tomcat / jetty / jboss ... конкретные записи и определить версию и сервер с помощью

1 голос
/ 16 сентября 2011

Этот тип информации всегда помещается в MBean .Пожалуйста, ознакомьтесь с соответствующей документацией Сервера приложений о предоставляемых MBeans.Вы можете программно получить доступ к MBean, используя JMX APIs .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...