ClassLoader parent = getClass().getClassLoader().getParent();
ClassLoaderSupport loader = new ClassLoaderSupport(new URL[]{file.toURL()}, parent);
ObjectName loaderName = new ObjectName(":type=ClassLoader");
server.registerMBean(loader, loaderName);
Object mbean2 = server.instantiate(className, loaderName, new Object[0], new String[0]);
// Now mbean1 should be of a different class from mbean2
if (mbean1.getClass().equals(mbean2.getClass())) fail("MBean classes should be different");
Object mbean3 = server.instantiate(className, new Object[0], new String[0]);