迁移特定于其他应用程序服务器的 MBean

此规则会检测对 javax.management.ObjectName 构造函数的所有调用,该构造函数可能特定于应用程序服务器,并且将需要迁移以便应用程序在 WebSphere Application Server 上运行。

例如,将标记下列调用:

new ObjectName("jboss.admin:service=DeploymentFileRepository")
new ObjectName("com.bea:Name=RuntimeService")
new ObjectName("com.acme:name=toon,type=com.acme.toon.management.ToonBeanCounter")
...
String name = "foo:bar";
...
new ObjectName(name)

请注意,仅需要迁移专门由除了 WebSphere Application Server 之外的应用程序服务器提供的 MBean。 此规则将仍然标记非特定于 WebSphere 的 MBean,其中包括可能兼容的 MBean,例如定制 MBean。 此外,将标记所有将非最终变量作为自变量使用的调用,因为在运行时,工具没有足够信息来确定它们的值。 在 WebSphere Application Server 上进行使用之前,请检查标记的所有 MBean 的兼容性。

例如,将不标记以下调用,因为它们包含特定于 WebSphere 的名称。

static final String NAME = "com.ibm.websphere.testgrid:type=TestService";
...
new ObjectName("WebSphere:type=Server")
new ObjectName(NAME)

要获取 WebSphere 提供的 MBean 列表,请参阅 WebSphere Application Server Public MBean Interfaces

要获取 Liberty 提供的 MBean 列表,请参阅 Liberty:List of provided MBeans

有关如何设置定制 MBean 的更多信息,请参阅 Extending the WebSphere Application Server administrative system with custom MBeans