Search in sources :

Example 56 with SnmpStatusException

use of com.sun.jmx.snmp.SnmpStatusException in project jdk8u_jdk by JetBrains.

the class JvmMemManagerTableMetaImpl method getNextOid.

// See com.sun.jmx.snmp.agent.SnmpMibTable
protected SnmpOid getNextOid(SnmpOid oid, Object userData) throws SnmpStatusException {
    final boolean dbg = log.isDebugOn();
    if (dbg)
        log.debug("getNextOid", "previous=" + oid);
    // Get the data handler.
    //
    SnmpTableHandler handler = getHandler(userData);
    if (handler == null) {
        //
        if (dbg)
            log.debug("getNextOid", "handler is null!");
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    }
    // Get the next oid
    //
    final SnmpOid next = handler.getNext(oid);
    if (dbg)
        log.debug("getNextOid", "next=" + next);
    //
    if (next == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    return next;
}
Also used : SnmpStatusException(com.sun.jmx.snmp.SnmpStatusException) SnmpOid(com.sun.jmx.snmp.SnmpOid) SnmpTableHandler(sun.management.snmp.util.SnmpTableHandler)

Example 57 with SnmpStatusException

use of com.sun.jmx.snmp.SnmpStatusException in project jdk8u_jdk by JetBrains.

the class JvmRTBootClassPathTableMetaImpl method getEntry.

// See com.sun.jmx.snmp.agent.SnmpMibTable
public Object getEntry(SnmpOid oid) throws SnmpStatusException {
    final boolean dbg = log.isDebugOn();
    if (dbg)
        log.debug("getEntry", "oid [" + oid + "]");
    if (oid == null || oid.getLength() != 1) {
        if (dbg)
            log.debug("getEntry", "Invalid oid [" + oid + "]");
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    }
    // Get the request contextual cache (userData).
    //
    final Map<Object, Object> m = JvmContextFactory.getUserData();
    // We're going to use this name to store/retrieve the entry in
    // the request contextual cache.
    //
    // Revisit: Probably better programming to put all these strings
    //          in some interface.
    //
    final String entryTag = ((m == null) ? null : ("JvmRTBootClassPathTable.entry." + oid.toString()));
    //
    if (m != null) {
        final Object entry = m.get(entryTag);
        if (entry != null) {
            if (dbg)
                log.debug("getEntry", "Entry is already in the cache");
            return entry;
        } else if (dbg)
            log.debug("getEntry", "Entry is not in the cache");
    }
    // The entry was not in the cache, make a new one.
    //
    // Get the data hanler.
    //
    SnmpTableHandler handler = getHandler(m);
    //
    if (handler == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    // Get the data associated with our entry.
    //
    final Object data = handler.getData(oid);
    //
    if (data == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    //
    if (dbg)
        log.debug("getEntry", "data is a: " + data.getClass().getName());
    final Object entry = new JvmRTBootClassPathEntryImpl((String) data, (int) oid.getOidArc(0));
    //
    if (m != null && entry != null) {
        m.put(entryTag, entry);
    }
    return entry;
}
Also used : SnmpStatusException(com.sun.jmx.snmp.SnmpStatusException) SnmpTableHandler(sun.management.snmp.util.SnmpTableHandler) SnmpString(com.sun.jmx.snmp.SnmpString)

Example 58 with SnmpStatusException

use of com.sun.jmx.snmp.SnmpStatusException in project jdk8u_jdk by JetBrains.

the class JvmMemPoolTableMetaImpl method getEntry.

// See com.sun.jmx.snmp.agent.SnmpMibTable
public Object getEntry(SnmpOid oid) throws SnmpStatusException {
    if (oid == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    // Get the request contextual cache (userData).
    //
    final Map<Object, Object> m = Util.cast(JvmContextFactory.getUserData());
    // We know in the case of this table that the index is an integer,
    // it is thus the first OID arc of the index OID.
    //
    final long index = oid.getOidArc(0);
    // We're going to use this name to store/retrieve the entry in
    // the request contextual cache.
    //
    // Revisit: Probably better programming to put all these strings
    //          in some interface.
    //
    final String entryTag = ((m == null) ? null : ("JvmMemPoolTable.entry." + index));
    //
    if (m != null) {
        final Object entry = m.get(entryTag);
        if (entry != null)
            return entry;
    }
    // The entry was not in the cache, make a new one.
    //
    // Get the data hanler.
    //
    SnmpTableHandler handler = getHandler(m);
    //
    if (handler == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    // Get the data associated with our entry.
    //
    final Object data = handler.getData(oid);
    //
    if (data == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    //
    if (log.isDebugOn())
        log.debug("getEntry", "data is a: " + data.getClass().getName());
    final Object entry = new JvmMemPoolEntryImpl((MemoryPoolMXBean) data, (int) index);
    //
    if (m != null && entry != null) {
        m.put(entryTag, entry);
    }
    return entry;
}
Also used : SnmpStatusException(com.sun.jmx.snmp.SnmpStatusException) SnmpTableHandler(sun.management.snmp.util.SnmpTableHandler)

Example 59 with SnmpStatusException

use of com.sun.jmx.snmp.SnmpStatusException in project jdk8u_jdk by JetBrains.

the class JvmMemPoolTableMetaImpl method getNextOid.

// See com.sun.jmx.snmp.agent.SnmpMibTable
protected SnmpOid getNextOid(SnmpOid oid, Object userData) throws SnmpStatusException {
    final boolean dbg = log.isDebugOn();
    try {
        if (dbg)
            log.debug("getNextOid", "previous=" + oid);
        // Get the data handler.
        //
        SnmpTableHandler handler = getHandler(userData);
        if (handler == null) {
            //
            if (dbg)
                log.debug("getNextOid", "handler is null!");
            throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
        }
        // Get the next oid
        //
        final SnmpOid next = handler.getNext(oid);
        if (dbg)
            log.debug("getNextOid", "next=" + next);
        //
        if (next == null)
            throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
        return next;
    } catch (SnmpStatusException x) {
        if (dbg)
            log.debug("getNextOid", "End of MIB View: " + x);
        throw x;
    } catch (RuntimeException r) {
        if (dbg)
            log.debug("getNextOid", "Unexpected exception: " + r);
        if (dbg)
            log.debug("getNextOid", r);
        throw r;
    }
}
Also used : SnmpStatusException(com.sun.jmx.snmp.SnmpStatusException) SnmpOid(com.sun.jmx.snmp.SnmpOid) SnmpTableHandler(sun.management.snmp.util.SnmpTableHandler)

Example 60 with SnmpStatusException

use of com.sun.jmx.snmp.SnmpStatusException in project jdk8u_jdk by JetBrains.

the class JvmMemGCTableMetaImpl method getNextOid.

// See com.sun.jmx.snmp.agent.SnmpMibTable
protected SnmpOid getNextOid(SnmpOid oid, Object userData) throws SnmpStatusException {
    final boolean dbg = log.isDebugOn();
    try {
        if (dbg)
            log.debug("getNextOid", "previous=" + oid);
        // Get the data handler.
        //
        SnmpTableHandler handler = getHandler(userData);
        if (handler == null) {
            //
            if (dbg)
                log.debug("getNextOid", "handler is null!");
            throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
        }
        // Get the next oid, using the GC filter.
        //
        final SnmpOid next = filter.getNext(handler, oid);
        if (dbg)
            log.debug("getNextOid", "next=" + next);
        //
        if (next == null)
            throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
        return next;
    } catch (RuntimeException x) {
        //
        if (dbg)
            log.debug("getNextOid", x);
        throw x;
    }
}
Also used : SnmpStatusException(com.sun.jmx.snmp.SnmpStatusException) SnmpOid(com.sun.jmx.snmp.SnmpOid) SnmpTableHandler(sun.management.snmp.util.SnmpTableHandler)

Aggregations

SnmpStatusException (com.sun.jmx.snmp.SnmpStatusException)64 SnmpVarBind (com.sun.jmx.snmp.SnmpVarBind)18 SnmpTableHandler (sun.management.snmp.util.SnmpTableHandler)18 SnmpOid (com.sun.jmx.snmp.SnmpOid)15 SnmpMessage (com.sun.jmx.snmp.SnmpMessage)5 SnmpTooBigException (com.sun.jmx.snmp.SnmpTooBigException)5 InstanceAlreadyExistsException (javax.management.InstanceAlreadyExistsException)5 InstanceNotFoundException (javax.management.InstanceNotFoundException)5 InvalidAttributeValueException (javax.management.InvalidAttributeValueException)5 MBeanException (javax.management.MBeanException)5 MBeanRegistrationException (javax.management.MBeanRegistrationException)5 NotCompliantMBeanException (javax.management.NotCompliantMBeanException)5 ReflectionException (javax.management.ReflectionException)5 RuntimeOperationsException (javax.management.RuntimeOperationsException)5 SnmpString (com.sun.jmx.snmp.SnmpString)4 BerDecoder (com.sun.jmx.snmp.BerDecoder)3 BerException (com.sun.jmx.snmp.BerException)3 Attribute (javax.management.Attribute)3 SnmpPduPacket (com.sun.jmx.snmp.SnmpPduPacket)2 SnmpScopedPduPacket (com.sun.jmx.snmp.SnmpScopedPduPacket)2