我有一个正在运行的WebSphere Application Server 7实例,我需要知道Java系统属性的当前值。
有没有办法获取这些信息?
(我想知道最少侵入性的方式,所以不考虑添加打印属性的JSP)
答案 0 :(得分:1)
触发线程转储(javacore)。这将需要几秒钟,几乎不会引人注意。线程转储将在其信息部分列出JVM的所有环境属性。搜索旗帜1CIENVVARS,2CIENVVAR可以在下面的代码段中看到。
...
1CIENVVARS Environment Variables
NULL ------------------------------------------------------------------------
2CIENVVAR _=/WebSphere/AppServer/java/bin/java
2CIENVVAR LANG=en_US
2CIENVVAR CONFIG_ROOT=/WebSphere/AppServer/profiles/Srv02/config
2CIENVVAR LOGIN=wasadmin
2CIENVVAR SSH_TTY=/dev/pts/1
2CIENVVAR CLCMD_PASSTHRU=1
2CIENVVAR PATH=/WebSphere/AppServer/java/ibm_bin:/WebSphere/AppServer/java/bin/:/WebSphere/AppServer/java/jre/bin:/WebSphere/AppS
...
答案 1 :(得分:1)
我可以通过wsadmin
脚本获取名称的特定属性,但似乎没有相同的方法来列出“所有”属性。
这可能对您没有帮助,但如果将来有人有类似的需求,这里有几个Jython命令来检索标准系统属性之一。
jvm = AdminControl.completeObjectName('WebSphere:type=JVM,process=YourServerName,*')
AdminControl.invoke(jvm,'getProperty','user.timezone')
答案 2 :(得分:0)
如果没有更好的选择,将JSP直接部署到文件系统或通过控制台的单文件部署应该不会过于干扰。特别是考虑到您不必实际更改构建的WAR文件以在其上部署独立的JSP。