获取 WebSphere 应用程序服务器的实例名称

2022-09-03 08:53:21

我的 Web 服务将在 Jboss 应用服务器或 Websphere 应用服务器上运行。对于它们,我需要知道实例名称,对于Jboss,我可以使用,但是我可以为WebSphere使用什么?我不能使用特定于 WebSphere 的方法,我需要调用 System.propertiesSystem.getProperty("jboss.server.name"),

谢谢


答案 1

另一种选择,至少对于WebSphere来说,是在JNDI树中查找它。这就是我使用的:

InitialContext ic = new javax.naming.InitialContext();
String serverName = ic.lookup("servername").toString();

这样我就不必配置任何东西,因为 WebSphere 会为我绑定这些信息。

单元格和节点名称也可以使用“thisNode/cell/cellname”和“thisNode/nodename”进行检索。在集群中很有用的东西。


答案 2

我同意指定服务器名称作为环境变量(Manglu的触摸也很好)。为了使讨论完整,以下是如何通过运行时获取实例名称(此API在最新版本中已弃用,但仍在使用中);

import com.ibm.websphere.runtime.ServerName;

System.out.println("Display name: " + ServerName.getDisplayName());
System.out.println("Full name: " + ServerName.getFullName());

示例输出将如下所示

显示名称: server1
全名: was7host01Node01Cell\was7host01Node01\server1


推荐