2011-09-16 40 views
21

Tôi đang viết một ứng dụng Web với Java và ứng dụng WAR này có thể được triển khai tới các máy chủ ứng dụng khác nhau, chẳng hạn như Tomcat/JBoss/Jetty/Weblogic.Lấy tên và phiên bản máy chủ ứng dụng Java

Vì mục đích chẩn đoán, tôi muốn triển khai một trang web động để thu thập thông tin hệ thống/môi trường khác nhau để khách hàng có thể cung cấp những thông tin này để hỗ trợ các kỹ sư chẩn đoán.

Một mẩu thông tin đó là hữu ích là tên máy chủ ứng dụng và phiên bản ứng dụng này được triển khai tới, chẳng hạn như Tomcat 7.0, JBoss 5.1.0, Glassfish 3.0 vv

Tôi chỉ tự hỏi nếu có bất kỳ tiêu chuẩn cách để truy xuất tên và phiên bản của máy chủ ứng dụng từ các máy chủ ứng dụng JEE khác nhau.

+1

Không thực sự là một câu trả lời, nhưng nó sẽ có vẻ bạn sẽ có thể kiểm tra đường dẫn tập tin vật lý của một số tập tin cấu hình và nó sẽ cho bạn biết nó trong/etc/tomcat7.0 hoặc bất cứ nơi nào nó được cài đặt. Tôi chắc chắn có một cách có lập trình nhiều hơn, nhưng điều này có vẻ hợp lý với tôi. – corsiKa

Trả lời

25

Tôi đã tìm thấy một số mã để nhận thông tin máy chủ về nơi bạn triển khai ứng dụng của mình.
Mã này được viết bằng Servlet để nhận được thông tin máy chủ, trong đó nó đang chạy ..

String str1 = getServletContext().getServerInfo();

Bằng cách này, bạn sẽ nhận được tên máy chủ và thông tin phiên bản của máy chủ.

Tôi nghĩ rằng nó sẽ một số những gì giúp bạn ..

+0

Nó trả về một chuỗi như: 'Apache Tomcat/7.0.42'. Cảm ơn. –

1

Các loại thông tin này luôn được đặt trong một số MBean. Vui lòng xem tài liệu của ive App Server về sự cung cấp của MBeans. Bạn có thể truy cập theo chương trình MBean bằng cách sử dụng JMX APIs.

1

Tôi không nghĩ rằng có một cách dễ dàng để làm điều này, nhưng tôi biết bạn có thể xác định tomcat từ kiểm tra các thuộc tính môi trường Hệ thống

-- 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}.. 

bạn có thể kiểm tra tomcat/cầu cảng/JBoss ... các mục cụ thể và xác định phiên bản và máy chủ bằng cách đó có nghĩa là

Các vấn đề liên quan