1

我有一个正在运行的 WebSphere Application Server 7 实例,我需要知道 Java 系统属性的当前值。

有什么方法可以获取这些信息吗?

(我想知道侵入性最小的方式,所以不考虑添加打印属性的 JSP)

4

3 回答 3

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
...
于 2012-08-22T21:28:32.580 回答
1

我可以通过wsadmin脚本按名称获取特定属性,但似乎没有等效的方法来列出“所有”属性。

这可能对您没有帮助,但如果将来有人有类似的需求,这里有几个 Jython 命令来检索标准系统属性之一。

jvm = AdminControl.completeObjectName('WebSphere:type=JVM,process=YourServerName,*')
AdminControl.invoke(jvm,'getProperty','user.timezone')
于 2012-08-23T04:46:56.010 回答
0

如果没有更好的选择,将 JSP 直接部署到文件系统或通过控制台的单文件部署应该不会太麻烦。特别是考虑到您不必实际更改构建的 WAR 文件即可在其之上部署独立的 JSP。

于 2012-08-21T13:58:07.177 回答