应用程序如何判断它是否在IBM WebSphere Application Server或IBM WebSphere Liberty Profile上运行?

时间:2016-09-13 17:08:43

标签: websphere websphere-liberty

我正在使用一个应用程序,该应用程序需要知道它是在WAS上运行还是在Liberty Profile上运行。

在WAS上,它必须调用Admin API,但在Liberty Profile上它必须使用JNDI来做同样的事情。

1 个答案:

答案 0 :(得分:1)

应用程序可以判断它是否在Liberty上运行的一种方法是搜索以下MBean:WebSphere:name=com.ibm.ws.config.mbeans.FeatureListMBean

以下是all MBeans provided in Liberty

的列表

以下是如何查询MBean的代码示例:

private boolean isLiberty() throws Exception {
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
    ObjectName obn = new ObjectName("WebSphere:name=com.ibm.websphere.config.mbeans.FeatureListMBean");
    Set<ObjectInstance> s = mbs.queryMBeans(obn, null);
    return s.size() > 0;
}