Search in sources :

Example 11 with ServiceNotFoundException

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");
    }
}
Also used : RequiredModelMBean(javax.management.modelmbean.RequiredModelMBean) ModelMBean(javax.management.modelmbean.ModelMBean) Attribute(javax.management.Attribute) DescriptorSupport(javax.management.modelmbean.DescriptorSupport) ModelMBeanInfo(javax.management.modelmbean.ModelMBeanInfo) ServiceNotFoundException(javax.management.ServiceNotFoundException) MBeanException(javax.management.MBeanException) RequiredModelMBean(javax.management.modelmbean.RequiredModelMBean) ObjectName(javax.management.ObjectName) ModelMBeanAttributeInfo(javax.management.modelmbean.ModelMBeanAttributeInfo) ServiceNotFoundException(javax.management.ServiceNotFoundException) Descriptor(javax.management.Descriptor) MBeanException(javax.management.MBeanException) ModelMBeanInfoSupport(javax.management.modelmbean.ModelMBeanInfoSupport) MBeanServer(javax.management.MBeanServer)

Example 12 with ServiceNotFoundException

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);
}
Also used : ServiceNotFoundException(javax.management.ServiceNotFoundException) MLet(javax.management.loading.MLet) MBeanServer(javax.management.MBeanServer) ObjectName(javax.management.ObjectName)

Example 13 with ServiceNotFoundException

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);
}
Also used : ServiceNotFoundException(javax.management.ServiceNotFoundException) MLet(javax.management.loading.MLet) IOException(java.io.IOException) MBeanServer(javax.management.MBeanServer) ObjectName(javax.management.ObjectName)

Example 14 with ServiceNotFoundException

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);
    }
}
Also used : ReflectionException(javax.management.ReflectionException) RuntimeErrorException(javax.management.RuntimeErrorException) Method(java.lang.reflect.Method) Logger(mx4j.log.Logger) FileLogger(mx4j.log.FileLogger) MBeanLogger(mx4j.log.MBeanLogger) InvocationTargetException(java.lang.reflect.InvocationTargetException) ServiceNotFoundException(javax.management.ServiceNotFoundException) MBeanException(javax.management.MBeanException)

Aggregations

ServiceNotFoundException (javax.management.ServiceNotFoundException)14 MBeanException (javax.management.MBeanException)12 ReflectionException (javax.management.ReflectionException)10 InstanceNotFoundException (javax.management.InstanceNotFoundException)9 AttributeNotFoundException (javax.management.AttributeNotFoundException)5 Descriptor (javax.management.Descriptor)5 RuntimeOperationsException (javax.management.RuntimeOperationsException)5 InvocationTargetException (java.lang.reflect.InvocationTargetException)4 InvalidAttributeValueException (javax.management.InvalidAttributeValueException)4 ObjectName (javax.management.ObjectName)4 RuntimeErrorException (javax.management.RuntimeErrorException)4 Method (java.lang.reflect.Method)3 ListenerNotFoundException (javax.management.ListenerNotFoundException)3 MBeanServer (javax.management.MBeanServer)3 IOException (java.io.IOException)2 AccessControlContext (java.security.AccessControlContext)2 Date (java.util.Date)2 Attribute (javax.management.Attribute)2 MBeanRegistrationException (javax.management.MBeanRegistrationException)2 MLet (javax.management.loading.MLet)2