Liberty 上提供的受管 Bean (MBean) 与 WebSphere Application Server Traditional 上提供的 MBean 不同。 虽然这两个服务器上的 MBean 域都是 WebSphere,但在 WebSphere Application Server Traditional 与 Liberty 中,MBean 的对象名称和功能有所不同。
例如,如果您在 WebSphere Application Server Traditional 上访问具有 WebSphere:*,type=JVM,j2eeType=JVM 对象名称的 JVM MBean,那么可以通过在 Liberty 上访问具有 WebSphere:type=JvmStats 对象名称的 JvmStats MXBean 来检索所需的信息。
当您将应用程序从 WebSphere Application Server Traditional 迁移到 Liberty 时,请通过 WebSphere 域复查对 MBean 的使用以验证应用程序是否接收到期望的信息。 因为 MBean 通过 ObjectName 对象进行访问,所以此规则会标记以下项:
javax.management.ObjectName 构造函数的调用,这些调用会传递以 WebSphere 或 * 域开头的字符串字面值参数。javax.management.ObjectName getInstance 方法的调用,这些调用会传递以 WebSphere 或 * 域开头的字符串字面值参数。例如,此工具将标记突出显示的代码:
|
public static final String EJB_ON = "WebSphere:*,type=Cluster";
ObjectName on = new ObjectName("WebSphere:*,type=Cluster"); ObjectName on = new ObjectName("WebSphere", "type", "Cluster"); ObjectName on = ObjectName.getInstance("WebSphere:*,type=Cluster"); |
如果此工具确定对象名称未使用 WebSphere 或通配符 (*) 域,那么不会标记代码。 例如,以下用于创建 Java 运行时 MBean 的 ObjectName 的代码不会被标记:
|
ObjectName on = new ObjectName("java.lang:type=Runtime");
|
有关 Liberty 上提供的 MBean 的信息,请参阅 Liberty:List of provided MBeans。
有关 WebSphere Application Server Traditional 上提供的 MBean 的信息,请参阅 WebSphere Application Server Public MBean Interfaces。