在本地或远程 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 输出的管理接口,也由返回的代理来实现。
- 返回:
- 新的代理实例。