在本地或远程 mbean server 中为 standard mbean 构造一个代理。
如果 mbean 服务器 mbs
包含 objectname
为 name
的 mbean,并且如果该 mbean 的管理接口由 java 接口 mymbean
描述,则可以像下面这样为该 mbean 构造一个代理:
mymbean proxy = jmx.newmbeanproxy(mbs, name, mymbean.class);
例如,假定 mymbean
如下所示:
public interface mymbean {
public string getsomeattribute();
public void setsomeattribute(string value);
public void someoperation(string param1, int param2);
}
那么可以执行:
- 将导致调用
mbs.
getattribute
(name, "someattribute")
的 proxy.getsomeattribute()
。
- 将导致调用
mbs.
setattribute
(name, new attribute("someattribute", "whatever"))
的 proxy.setsomeattribute("whatever")
。
- 将转换为对
mbs.
invoke
(name, "someoperation", )
的调用的 proxy.someoperation("param1", 2)
。
此方法返回的对象是一个其 invocationhandler
为 mbeanserverinvocationhandler
的 proxy
。
此方法等效于 newmbeanproxy(connection, objectname, interfaceclass, false)
。
- 类型参数:
t
- 让编译器知道如果 interfaceclass
参数为 mymbean.class
,则返回类型为 mymbean
。- 参数:
connection
- 作为转发目的地的目标 mbean 服务器。objectname
- 作为转发目的地的 connection
中的 mbean 名。interfaceclass
- mbean 输出的管理接口,也由返回的代理来实现。
- 返回:
- 新的代理实例。