use of javax.management.MBeanServerDelegate in project redisson by redisson.
the class JCacheMBeanServerBuilder method newMBeanServer.
@Override
public MBeanServer newMBeanServer(String defaultDomain, MBeanServer outer, MBeanServerDelegate delegate) {
MBeanServerDelegate wrappedDelegate = new JCacheMBeanServerDelegate(delegate);
MBeanServerBuilder builder = new MBeanServerBuilder();
return builder.newMBeanServer(defaultDomain, outer, wrappedDelegate);
}
use of javax.management.MBeanServerDelegate in project jdk8u_jdk by JetBrains.
the class MXBeanRefTest method main.
public static void main(String[] args) throws Exception {
MBeanServer mbs = MBeanServerFactory.createMBeanServer();
ObjectName productName = new ObjectName("d:type=Product,n=1");
ObjectName product2Name = new ObjectName("d:type=Product,n=2");
ObjectName moduleName = new ObjectName("d:type=Module");
mbs.registerMBean(product, productName);
mbs.registerMBean(product2, product2Name);
mbs.registerMBean(module, moduleName);
ModuleMXBean moduleProxy = JMX.newMXBeanProxy(mbs, moduleName, ModuleMXBean.class);
ObjectName on;
on = (ObjectName) mbs.getAttribute(moduleName, "Product");
check("ObjectName attribute value", on.equals(productName));
ProductMXBean productProxy = moduleProxy.getProduct();
MBeanServerInvocationHandler mbsih = (MBeanServerInvocationHandler) Proxy.getInvocationHandler(productProxy);
check("ObjectName in proxy", mbsih.getObjectName().equals(productName));
mbs.setAttribute(moduleName, new Attribute("Product", product2Name));
ProductMXBean product2Proxy = module.getProduct();
mbsih = (MBeanServerInvocationHandler) Proxy.getInvocationHandler(product2Proxy);
check("Proxy after setAttribute", mbsih.getObjectName().equals(product2Name));
moduleProxy.setProduct(productProxy);
ProductMXBean productProxyAgain = module.getProduct();
mbsih = (MBeanServerInvocationHandler) Proxy.getInvocationHandler(productProxyAgain);
check("Proxy after proxied set", mbsih.getObjectName().equals(productName));
MBeanServer mbs2 = MBeanServerFactory.createMBeanServer();
ProductMXBean productProxy2 = JMX.newMXBeanProxy(mbs2, productName, ProductMXBean.class);
try {
moduleProxy.setProduct(productProxy2);
check("Proxy for wrong MBeanServer worked but shouldn't", false);
} catch (Exception e) {
if (e instanceof UndeclaredThrowableException && e.getCause() instanceof OpenDataException)
check("Proxy for wrong MBeanServer correctly rejected", true);
else {
e.printStackTrace(System.out);
check("Proxy for wrong MBeanServer got wrong exception", false);
}
}
// Test 6283873
ObjectName dup = new ObjectName("a:b=c");
mbs.registerMBean(new MBeanServerDelegate(), dup);
try {
mbs.registerMBean(new ProductImpl(), dup);
check("Duplicate register succeeded but should fail", false);
} catch (InstanceAlreadyExistsException e) {
check("Got correct exception from duplicate name", true);
} catch (Exception e) {
e.printStackTrace(System.out);
check("Got wrong exception from duplicate name", false);
}
if (failure != null)
throw new Exception("TEST FAILED: " + failure);
System.out.println("TEST PASSED");
}
Aggregations