我正在使用一个应用程序,该应用程序需要知道它是在WAS上运行还是在Liberty Profile上运行。
在WAS上,它必须调用Admin API,但在Liberty Profile上它必须使用JNDI来做同样的事情。
答案 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;
}