use of javax.management.ServiceNotFoundException in project jdk8u_jdk by JetBrains.
the class RequiredModelMBeanSetAttributeTest method main.
public static void main(String[] args) throws Exception {
boolean ok = true;
MBeanServer mbs = MBeanServerFactory.createMBeanServer();
// ModelMBeanAttributeInfo
Descriptor somethingAttributeDescriptor = new DescriptorSupport(new String[] { "name=Something", "descriptorType=attribute", "getMethod=getSomething" });
ModelMBeanAttributeInfo somethingAttributeInfo = new ModelMBeanAttributeInfo("Something", "java.lang.String", "Something attribute", true, true, false, somethingAttributeDescriptor);
Descriptor somethingCachedAttributeDescriptor = new DescriptorSupport(new String[] { "name=SomethingCached", "descriptorType=attribute", "getMethod=getSomethingCached", "currencyTimeLimit=5000" });
ModelMBeanAttributeInfo somethingCachedAttributeInfo = new ModelMBeanAttributeInfo("SomethingCached", "java.lang.String", "Something cached attribute", true, true, false, somethingCachedAttributeDescriptor);
// ModelMBeanInfo
ModelMBeanInfo mmbi = new ModelMBeanInfoSupport(Resource.class.getName(), "Resource MBean", new ModelMBeanAttributeInfo[] { somethingAttributeInfo, somethingCachedAttributeInfo }, null, new ModelMBeanOperationInfo[] {}, null);
// RequiredModelMBean
ModelMBean mmb = new RequiredModelMBean(mmbi);
mmb.setManagedResource(resource, "ObjectReference");
ObjectName mmbName = new ObjectName(":type=ResourceMBean");
mbs.registerMBean(mmb, mmbName);
// Run tests
System.out.println("\nTest that we receive ServiceNotFoundException");
try {
Attribute attr = new Attribute("Something", "Some string");
mbs.setAttribute(mmbName, attr);
System.out.println("TEST FAILED: Didn't caught exception");
ok = false;
} catch (MBeanException mbex) {
Exception e = mbex.getTargetException();
if (e == null || !(e instanceof ServiceNotFoundException)) {
System.out.println("TEST FAILED: Caught wrong exception:" + e);
ok = false;
} else
System.out.println("Received expected ServiceNotFoundException");
} catch (Exception e) {
System.out.println("TEST FAILED: Caught wrong exception: " + e);
e.printStackTrace(System.out);
ok = false;
}
//Now check that when caching is enabled, setAttribute is working
System.out.println("\nTest that we are not receiving ServiceNotFoundException");
try {
Attribute attr = new Attribute("SomethingCached", "Some string");
mbs.setAttribute(mmbName, attr);
System.out.println("No exception thrown");
} catch (Exception e) {
System.out.println("TEST FAILED: Caught an exception: " + e);
e.printStackTrace(System.out);
ok = false;
}
if (ok)
System.out.println("Test passed");
else {
System.out.println("TEST FAILED");
throw new Exception("TEST FAILED");
}
}
use of javax.management.ServiceNotFoundException in project jdk8u_jdk by JetBrains.
the class GetMBeansFromURLTest method main.
public static void main(String[] args) throws Exception {
boolean error = false;
// Instantiate the MBean server
//
System.out.println("Create the MBean server");
MBeanServer mbs = MBeanServerFactory.createMBeanServer();
// Instantiate an MLet
//
System.out.println("Create the MLet");
MLet mlet = new MLet();
// Register the MLet MBean with the MBeanServer
//
System.out.println("Register the MLet MBean");
ObjectName mletObjectName = new ObjectName("Test:type=MLet");
mbs.registerMBean(mlet, mletObjectName);
// Call getMBeansFromURL
//
System.out.println("Call mlet.getMBeansFromURL(<url>)");
try {
mlet.getMBeansFromURL("bogus://whatever");
System.out.println("TEST FAILED: Expected " + ServiceNotFoundException.class + " exception not thrown.");
error = true;
} catch (ServiceNotFoundException e) {
if (e.getCause() == null) {
System.out.println("TEST FAILED: Got null cause in " + ServiceNotFoundException.class + " exception.");
error = true;
} else {
System.out.println("TEST PASSED: Got non-null cause in " + ServiceNotFoundException.class + " exception.");
error = false;
}
e.printStackTrace(System.out);
}
// Unregister the MLet MBean
//
System.out.println("Unregister the MLet MBean");
mbs.unregisterMBean(mletObjectName);
// Release MBean server
//
System.out.println("Release the MBean server");
MBeanServerFactory.releaseMBeanServer(mbs);
// End Test
//
System.out.println("Bye! Bye!");
if (error)
System.exit(1);
}
use of javax.management.ServiceNotFoundException in project jdk8u_jdk by JetBrains.
the class ParserInfiniteLoopTest method main.
public static void main(String[] args) throws Exception {
boolean error = false;
// Instantiate the MBean server
//
System.out.println("Create the MBean server");
MBeanServer mbs = MBeanServerFactory.createMBeanServer();
// Instantiate an MLet
//
System.out.println("Create the MLet");
MLet mlet = new MLet();
// Register the MLet MBean with the MBeanServer
//
System.out.println("Register the MLet MBean");
ObjectName mletObjectName = new ObjectName("Test:type=MLet");
mbs.registerMBean(mlet, mletObjectName);
// Call getMBeansFromURL
//
System.out.println("Call mlet.getMBeansFromURL(<url>)");
String testSrc = System.getProperty("test.src");
System.out.println("test.src = " + testSrc);
String urlCodebase;
if (testSrc.startsWith("/")) {
urlCodebase = "file:" + testSrc.replace(File.separatorChar, '/') + "/";
} else {
urlCodebase = "file:/" + testSrc.replace(File.separatorChar, '/') + "/";
}
String mletFile = urlCodebase + args[0];
System.out.println("MLet File = " + mletFile);
try {
mlet.getMBeansFromURL(mletFile);
System.out.println("TEST FAILED: Expected ServiceNotFoundException not thrown");
error = true;
} catch (ServiceNotFoundException e) {
if (e.getCause() == null) {
System.out.println("TEST FAILED: Got unexpected null cause " + "in ServiceNotFoundException");
error = true;
} else if (!(e.getCause() instanceof IOException)) {
System.out.println("TEST FAILED: Got unexpected non-null " + "cause in ServiceNotFoundException");
error = true;
} else {
System.out.println("TEST PASSED: Got expected non-null " + "cause in ServiceNotFoundException");
error = false;
}
e.printStackTrace(System.out);
}
// Unregister the MLet MBean
//
System.out.println("Unregister the MLet MBean");
mbs.unregisterMBean(mletObjectName);
// Release MBean server
//
System.out.println("Release the MBean server");
MBeanServerFactory.releaseMBeanServer(mbs);
// End Test
//
System.out.println("Bye! Bye!");
if (error)
System.exit(1);
}
use of javax.management.ServiceNotFoundException in project geode by apache.
the class MX4JModelMBean method invokeMethod.
private Object invokeMethod(Object target, String methodName, Class[] params, Object[] args) throws MBeanException, ReflectionException {
// First try on this instance, then on the target
Object realTarget = null;
Method method = null;
try {
realTarget = this;
method = realTarget.getClass().getMethod(methodName, params);
} catch (NoSuchMethodException x) {
realTarget = target;
}
if (realTarget == null)
throw new MBeanException(new ServiceNotFoundException(LocalizedStrings.MX4JModelMBean_COULD_NOT_FIND_TARGET.toLocalizedString()));
if (method == null) {
try {
method = realTarget.getClass().getMethod(methodName, params);
} catch (NoSuchMethodException x) {
throw new ReflectionException(x);
}
}
try {
Object value = method.invoke(realTarget, args);
Logger logger = getLogger();
if (logger.isEnabledFor(Logger.DEBUG))
logger.debug("Method invocation returned value: " + value);
return value;
} catch (IllegalAccessException x) {
throw new ReflectionException(x);
} catch (IllegalArgumentException x) {
throw new MBeanException(x);
} catch (InvocationTargetException x) {
Throwable t = x.getTargetException();
if (t instanceof Error)
throw new MBeanException(new RuntimeErrorException((Error) t));
else
throw new MBeanException((Exception) t);
}
}
Aggregations