提交 bfbe1817 编写于 作者: J jbachorik

8076397: Better MBean connections

Reviewed-by: dfuchs, ahgross
上级 31a2f7e2
......@@ -141,6 +141,12 @@ public class MBeanServerInvocationHandler implements InvocationHandler {
if (connection == null) {
throw new IllegalArgumentException("Null connection");
}
if (Proxy.isProxyClass(connection.getClass())) {
if (MBeanServerInvocationHandler.class.isAssignableFrom(
Proxy.getInvocationHandler(connection).getClass())) {
throw new IllegalArgumentException("Wrapping MBeanServerInvocationHandler");
}
}
if (objectName == null) {
throw new IllegalArgumentException("Null object name");
}
......@@ -418,6 +424,10 @@ public class MBeanServerInvocationHandler implements InvocationHandler {
new Class<?>[] {Object.class})
&& isLocal(proxy, method))
return true;
if (methodName.equals("finalize")
&& method.getParameterTypes().length == 0) {
return true;
}
return false;
}
......@@ -453,6 +463,9 @@ public class MBeanServerInvocationHandler implements InvocationHandler {
connection + "[" + objectName + "])";
} else if (methodName.equals("hashCode")) {
return objectName.hashCode()+connection.hashCode();
} else if (methodName.equals("finalize")) {
// ignore the finalizer invocation via proxy
return null;
}
throw new RuntimeException("Unexpected method name: " + methodName);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册