Java 管理扩展 (JMX) 互操作性
从 V6.0 开始,WebSphere® Application Server 实现了 Java™ 管理扩展 (JMX) V1.2。
V6.0.x 和 V6.1 及更高版本之间的差别
产品支持通过 SOAP 连接器与较低版本服务器之间的通信。较低版本服务器不能低于两个发行版。V6 及更高版本的服务器之间可以通过 RMI 连接器进行通信,但有一条限制。javax.management.MBeanInfo
类及其子类无法在 V6.1.02 与 V6.0.2 之间进行互操作。当尝试在 V6.1 和 V6.0.2 之间发送这些类的任何实例时,都会收到 java.lang.IllegalArgumentException 异常。这一限制影响客户机执行以下操作。
- 尝试执行以下操作的 wsadmin 脚本客户机,例如在 Jacl 中:
$Help attributes MBeanObjectName $Help operations MBeanObjectName $Help notifications MBeanObjectName
- 任何尝试执行以下调用的 Java 客户机:
com.ibm.websphere.management.AdminClient.getMBeanInfo(ObjectName name); com.ibm.websphere.management.AdminService.getMBeanInfo(ObjectName name); javax.management.MBeanServer.getMBeanInfo(ObjectName name);
在 V6.1 及更高版本和 V6.0.x 发行版中的 JMX 实现之间存在串行化格式错配。
当 V6.0.x wsadmin 脚本或 V6.0.x 管理客户机尝试检索 V6.1 及更高版本 MBean 的 ModelMBeanInfo 接口时,在解除序列化的对象中没有找到预期的字段名称,因为两种版本之间的大小写不同。
例如,当 V6.0.x wsadmin 脚本连接到 V6.1 及更高版本服务器时,以下 wsadmin 功能无法运作:
$Help attributes MBeanObjectName
$Help operations MBeanObjectName
$Help all MBeanObjectName
其中 MBeanObjectName 是 V6.1 及更高版本 MBean 对象的字符串表示。要避免出现此问题,请在管理控制台中的 JVM 定制属性页面上设置 jmx.serial.form Java 虚拟机 (JVM) 定制属性。通过在从 V6.0.x 客户机连接的 V6.1 及更高版本应用程序服务器上指定名称值对,创建定制属性。强制字段名称为小写,以与 V6.0.x 客户机要求一致。但是,采用小写字母的字段名称违反了 JMX 规范,并且危及到与将来版本的互操作性。因此,建议您仅当混合版本环境中绝对需要设置此属性时才设置它。
要访问 JVM 定制属性页面,请转至:
信息 | 值 |
---|---|
属性名 | jmx.serial.form |
数据类型 | 字符串 |
值 | 1.2.0 或 1.2.1 |
。然后,在“服务器基础结构”下面,单击
。
。然后,在“服务器基础结构”下面,单击
。