对象池管理器和对象池的 MBean
不推荐使用对象池管理器和对象池的旧 MBean 名称。旧的名称基于对象池管理器名称(不要求是唯一的)而不是对象池管理器 JNDI 名称。
关于此任务
对于对象池,旧的名称还缺乏池类的任何版本标识。另外,还会为具有相同旧的对象池 MBean 名称的对象池聚集对象池性能监视检测 (PMI) 统计信息。
例如,如果对象池管理器和池类如下所示:
object pool manager name: My ObjectPool
object pool manager JNDI name: op/MyObjectPool
pooled class name: java.util.ArrayList
hash code of java.util.ArrayList.class: 1111eb3f (hexadecimal)
旧的对象池管理器 MBean 名称将是:
ObjectPoolManager_My ObjectPool
而旧的对象池 MBean 名称将是:
ObjectPool_My ObjectPool_java.util.ArrayList
不推荐使用旧的 MBean 名称,而是使用基于对象池管理器的 JNDI 名称的 MBean 名称。
对于上面的示例,基于 JNDI 名称的对象池管理器 MBean 名称是:ObjectPoolManager_op/MyObjectPool
而基于 JNDI 名称的对象池 MBean 名称是:
ObjectPool_op/MyObjectPool_java.util.ArrayList.class@1111eb3f
MBean 名称的格式
类型 | 名称格式 |
---|---|
不推荐使用的旧的对象池管理器 MBean 名称: | ObjectPoolManager_[对象池管理器名称] |
基于 JNDI 名称的对象池管理器 MBean 名称: | ObjectPoolManager_[对象池管理器 JNDI 名称] |
不推荐使用的旧的对象池 MBean 名称: | ObjectPool_[对象池管理器名称]_[池类的名称] |
基于 JNDI 名称的对象池 MBean 名称: | ObjectPool_[对象池管理器 JNDI 名称]_[池类的名称].class@[池类的 java.lang.Class 引用散列码的十六进制表示] |
在所有格式中,对于 MBean 名称无效的字符都将替换为“.”字符。