Java源码示例:sun.management.snmp.util.JvmContextFactory

示例1
/**
 * Setter for the "JvmMemoryGCCall" variable.
 */
public void setJvmMemoryGCCall(EnumJvmMemoryGCCall x)
    throws SnmpStatusException {
    if (x.intValue() == JvmMemoryGCCallStart.intValue()) {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        try {
            ManagementFactory.getMemoryMXBean().gc();
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallStarted);
        } catch (Exception ex) {
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallFailed);
        }
        return;
    }
    throw new SnmpStatusException(SnmpDefinitions.snmpRspWrongValue);
}
 
示例2
/**
 * Setter for the "JvmMemoryGCCall" variable.
 */
public void setJvmMemoryGCCall(EnumJvmMemoryGCCall x)
    throws SnmpStatusException {
    if (x.intValue() == JvmMemoryGCCallStart.intValue()) {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        try {
            ManagementFactory.getMemoryMXBean().gc();
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallStarted);
        } catch (Exception ex) {
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallFailed);
        }
        return;
    }
    throw new SnmpStatusException(SnmpDefinitions.snmpRspWrongValue);
}
 
示例3
/**
 * Setter for the "JvmMemoryGCCall" variable.
 */
public void setJvmMemoryGCCall(EnumJvmMemoryGCCall x)
    throws SnmpStatusException {
    if (x.intValue() == JvmMemoryGCCallStart.intValue()) {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        try {
            ManagementFactory.getMemoryMXBean().gc();
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallStarted);
        } catch (Exception ex) {
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallFailed);
        }
        return;
    }
    throw new SnmpStatusException(SnmpDefinitions.snmpRspWrongValue);
}
 
示例4
/**
 * Setter for the "JvmMemoryGCCall" variable.
 */
public void setJvmMemoryGCCall(EnumJvmMemoryGCCall x)
    throws SnmpStatusException {
    if (x.intValue() == JvmMemoryGCCallStart.intValue()) {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        try {
            ManagementFactory.getMemoryMXBean().gc();
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallStarted);
        } catch (Exception ex) {
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallFailed);
        }
        return;
    }
    throw new SnmpStatusException(SnmpDefinitions.snmpRspWrongValue);
}
 
示例5
/**
 * Setter for the "JvmMemoryGCCall" variable.
 */
public void setJvmMemoryGCCall(EnumJvmMemoryGCCall x)
    throws SnmpStatusException {
    if (x.intValue() == JvmMemoryGCCallStart.intValue()) {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        try {
            ManagementFactory.getMemoryMXBean().gc();
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallStarted);
        } catch (Exception ex) {
            if (m != null) m.put("jvmMemory.getJvmMemoryGCCall",
                                 JvmMemoryGCCallFailed);
        }
        return;
    }
    throw new SnmpStatusException(SnmpDefinitions.snmpRspWrongValue);
}
 
示例6
MemoryUsage getNonHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(nonHeapMemoryTag);
            if (cached != null) {
                log.debug("getNonHeapMemoryUsage",
                      "jvmMemory.getNonHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.NON_HEAP);

            //  getNonHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(nonHeapMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getNonHeapMemoryUsage",
                  "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.NON_HEAP);
    } catch (RuntimeException x) {
        log.trace("getNonHeapMemoryUsage",
              "Failed to get NonHeapMemoryUsage: " + x);
        log.debug("getNonHeapMemoryUsage",x);
        throw x;
    }

}
 
示例7
MemoryUsage getHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)m.get(heapMemoryTag);
            if (cached != null) {
                log.debug("getHeapMemoryUsage",
                      "jvmMemory.getHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.HEAP);

            // getHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(heapMemoryTag,u);
            return u;
        }

        // Should never come here.
        // Log error!
        log.trace("getHeapMemoryUsage", "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.HEAP);
    } catch (RuntimeException x) {
        log.trace("getHeapMemoryUsage",
              "Failed to get HeapMemoryUsage: " + x);
        log.debug("getHeapMemoryUsage",x);
        throw x;
    }
}
 
示例8
/**
 * Getter for the "JvmMemoryGCCall" variable.
 */
public EnumJvmMemoryGCCall getJvmMemoryGCCall()
    throws SnmpStatusException {
    final Map<Object,Object> m = JvmContextFactory.getUserData();

    if (m != null) {
        final EnumJvmMemoryGCCall cached
            = (EnumJvmMemoryGCCall) m.get("jvmMemory.getJvmMemoryGCCall");
        if (cached != null) return cached;
    }
    return JvmMemoryGCCallSupported;
}
 
示例9
public Object getEntry(SnmpOid oid)
    throws SnmpStatusException {
    log.debug("*** **** **** **** getEntry", "oid [" + oid + "]");
    if (oid == null || oid.getLength() != 8) {
        log.debug("getEntry", "Invalid oid [" + oid + "]");
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    }

    // Get the request contextual cache (userData).
    //
    final Map<Object,Object> m = JvmContextFactory.getUserData();

    // Get the handler.
    //
    SnmpTableHandler handler = getHandler(m);

    // handler should never be null.
    //
    if (handler == null || !handler.contains(oid))
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);

    final JvmThreadInstanceEntryImpl entry = getJvmThreadInstance(m,oid);

    if (entry == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);

    return entry;
}
 
示例10
MemoryUsage getCollectMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(entryCollectMemoryTag);
            if (cached != null) {
                if (log.isDebugOn())
                    log.debug("getCollectMemoryUsage",
                              entryCollectMemoryTag + " found in cache.");
                return cached;
            }

            MemoryUsage u = pool.getCollectionUsage();
            if (u == null) u = ZEROS;

            m.put(entryCollectMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getCollectMemoryUsage",
                  "ERROR: should never come here!");
        return ZEROS;
    } catch (RuntimeException x) {
        log.trace("getPeakMemoryUsage",
              "Failed to get MemoryUsage: " + x);
        log.debug("getPeakMemoryUsage",x);
        throw x;
    }

}
 
示例11
/**
 * Getter for the "JvmRTInputArgsCount" variable.
 */
public Integer getJvmRTInputArgsCount() throws SnmpStatusException {

    final String[] args = getInputArguments(JvmContextFactory.
                                            getUserData());
    return new Integer(args.length);
}
 
示例12
MemoryUsage getMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(entryMemoryTag);
            if (cached != null) {
                log.debug("getMemoryUsage",entryMemoryTag+
                      " found in cache.");
                return cached;
            }

            MemoryUsage u = pool.getUsage();
            if (u == null) u = ZEROS;

            m.put(entryMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getMemoryUsage", "ERROR: should never come here!");
        return pool.getUsage();
    } catch (RuntimeException x) {
        log.trace("getMemoryUsage",
              "Failed to get MemoryUsage: " + x);
        log.debug("getMemoryUsage",x);
        throw x;
    }

}
 
示例13
MemoryUsage getPeakMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(entryPeakMemoryTag);
            if (cached != null) {
                if (log.isDebugOn())
                    log.debug("getPeakMemoryUsage",
                          entryPeakMemoryTag + " found in cache.");
                return cached;
            }

            MemoryUsage u = pool.getPeakUsage();
            if (u == null) u = ZEROS;

            m.put(entryPeakMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getPeakMemoryUsage", "ERROR: should never come here!");
        return ZEROS;
    } catch (RuntimeException x) {
        log.trace("getPeakMemoryUsage",
              "Failed to get MemoryUsage: " + x);
        log.debug("getPeakMemoryUsage",x);
        throw x;
    }

}
 
示例14
MemoryUsage getPeakMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(entryPeakMemoryTag);
            if (cached != null) {
                if (log.isDebugOn())
                    log.debug("getPeakMemoryUsage",
                          entryPeakMemoryTag + " found in cache.");
                return cached;
            }

            MemoryUsage u = pool.getPeakUsage();
            if (u == null) u = ZEROS;

            m.put(entryPeakMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getPeakMemoryUsage", "ERROR: should never come here!");
        return ZEROS;
    } catch (RuntimeException x) {
        log.trace("getPeakMemoryUsage",
              "Failed to get MemoryUsage: " + x);
        log.debug("getPeakMemoryUsage",x);
        throw x;
    }

}
 
示例15
MemoryUsage getNonHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(nonHeapMemoryTag);
            if (cached != null) {
                log.debug("getNonHeapMemoryUsage",
                      "jvmMemory.getNonHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.NON_HEAP);

            //  getNonHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(nonHeapMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getNonHeapMemoryUsage",
                  "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.NON_HEAP);
    } catch (RuntimeException x) {
        log.trace("getNonHeapMemoryUsage",
              "Failed to get NonHeapMemoryUsage: " + x);
        log.debug("getNonHeapMemoryUsage",x);
        throw x;
    }

}
 
示例16
/**
 * Getter for the "JvmMemoryGCCall" variable.
 */
public EnumJvmMemoryGCCall getJvmMemoryGCCall()
    throws SnmpStatusException {
    final Map<Object,Object> m = JvmContextFactory.getUserData();

    if (m != null) {
        final EnumJvmMemoryGCCall cached
            = (EnumJvmMemoryGCCall) m.get("jvmMemory.getJvmMemoryGCCall");
        if (cached != null) return cached;
    }
    return JvmMemoryGCCallSupported;
}
 
示例17
public Object getEntry(SnmpOid oid)
    throws SnmpStatusException {
    log.debug("*** **** **** **** getEntry", "oid [" + oid + "]");
    if (oid == null || oid.getLength() != 8) {
        log.debug("getEntry", "Invalid oid [" + oid + "]");
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    }

    // Get the request contextual cache (userData).
    //
    final Map<Object,Object> m = JvmContextFactory.getUserData();

    // Get the handler.
    //
    SnmpTableHandler handler = getHandler(m);

    // handler should never be null.
    //
    if (handler == null || !handler.contains(oid))
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);

    final JvmThreadInstanceEntryImpl entry = getJvmThreadInstance(m,oid);

    if (entry == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);

    return entry;
}
 
示例18
/**
 * Getter for the "JvmRTInputArgsCount" variable.
 */
public Integer getJvmRTInputArgsCount() throws SnmpStatusException {

    final String[] args = getInputArguments(JvmContextFactory.
                                            getUserData());
    return new Integer(args.length);
}
 
示例19
MemoryUsage getNonHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(nonHeapMemoryTag);
            if (cached != null) {
                log.debug("getNonHeapMemoryUsage",
                      "jvmMemory.getNonHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.NON_HEAP);

            //  getNonHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(nonHeapMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getNonHeapMemoryUsage",
                  "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.NON_HEAP);
    } catch (RuntimeException x) {
        log.trace("getNonHeapMemoryUsage",
              "Failed to get NonHeapMemoryUsage: " + x);
        log.debug("getNonHeapMemoryUsage",x);
        throw x;
    }

}
 
示例20
MemoryUsage getPeakMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(entryPeakMemoryTag);
            if (cached != null) {
                if (log.isDebugOn())
                    log.debug("getPeakMemoryUsage",
                          entryPeakMemoryTag + " found in cache.");
                return cached;
            }

            MemoryUsage u = pool.getPeakUsage();
            if (u == null) u = ZEROS;

            m.put(entryPeakMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getPeakMemoryUsage", "ERROR: should never come here!");
        return ZEROS;
    } catch (RuntimeException x) {
        log.trace("getPeakMemoryUsage",
              "Failed to get MemoryUsage: " + x);
        log.debug("getPeakMemoryUsage",x);
        throw x;
    }

}
 
示例21
MemoryUsage getNonHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(nonHeapMemoryTag);
            if (cached != null) {
                log.debug("getNonHeapMemoryUsage",
                      "jvmMemory.getNonHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.NON_HEAP);

            //  getNonHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(nonHeapMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getNonHeapMemoryUsage",
                  "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.NON_HEAP);
    } catch (RuntimeException x) {
        log.trace("getNonHeapMemoryUsage",
              "Failed to get NonHeapMemoryUsage: " + x);
        log.debug("getNonHeapMemoryUsage",x);
        throw x;
    }

}
 
示例22
MemoryUsage getHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)m.get(heapMemoryTag);
            if (cached != null) {
                log.debug("getHeapMemoryUsage",
                      "jvmMemory.getHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.HEAP);

            // getHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(heapMemoryTag,u);
            return u;
        }

        // Should never come here.
        // Log error!
        log.trace("getHeapMemoryUsage", "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.HEAP);
    } catch (RuntimeException x) {
        log.trace("getHeapMemoryUsage",
              "Failed to get HeapMemoryUsage: " + x);
        log.debug("getHeapMemoryUsage",x);
        throw x;
    }
}
 
示例23
/**
 * Getter for the "JvmMemoryGCCall" variable.
 */
public EnumJvmMemoryGCCall getJvmMemoryGCCall()
    throws SnmpStatusException {
    final Map<Object,Object> m = JvmContextFactory.getUserData();

    if (m != null) {
        final EnumJvmMemoryGCCall cached
            = (EnumJvmMemoryGCCall) m.get("jvmMemory.getJvmMemoryGCCall");
        if (cached != null) return cached;
    }
    return JvmMemoryGCCallSupported;
}
 
示例24
public Object getEntry(SnmpOid oid)
    throws SnmpStatusException {
    log.debug("*** **** **** **** getEntry", "oid [" + oid + "]");
    if (oid == null || oid.getLength() != 8) {
        log.debug("getEntry", "Invalid oid [" + oid + "]");
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
    }

    // Get the request contextual cache (userData).
    //
    final Map<Object,Object> m = JvmContextFactory.getUserData();

    // Get the handler.
    //
    SnmpTableHandler handler = getHandler(m);

    // handler should never be null.
    //
    if (handler == null || !handler.contains(oid))
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);

    final JvmThreadInstanceEntryImpl entry = getJvmThreadInstance(m,oid);

    if (entry == null)
        throw new SnmpStatusException(SnmpStatusException.noSuchInstance);

    return entry;
}
 
示例25
/**
 * Getter for the "JvmRTInputArgsCount" variable.
 */
public Integer getJvmRTInputArgsCount() throws SnmpStatusException {

    final String[] args = getInputArguments(JvmContextFactory.
                                            getUserData());
    return new Integer(args.length);
}
 
示例26
MemoryUsage getPeakMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(entryPeakMemoryTag);
            if (cached != null) {
                if (log.isDebugOn())
                    log.debug("getPeakMemoryUsage",
                          entryPeakMemoryTag + " found in cache.");
                return cached;
            }

            MemoryUsage u = pool.getPeakUsage();
            if (u == null) u = ZEROS;

            m.put(entryPeakMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getPeakMemoryUsage", "ERROR: should never come here!");
        return ZEROS;
    } catch (RuntimeException x) {
        log.trace("getPeakMemoryUsage",
              "Failed to get MemoryUsage: " + x);
        log.debug("getPeakMemoryUsage",x);
        throw x;
    }

}
 
示例27
MemoryUsage getCollectMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(entryCollectMemoryTag);
            if (cached != null) {
                if (log.isDebugOn())
                    log.debug("getCollectMemoryUsage",
                              entryCollectMemoryTag + " found in cache.");
                return cached;
            }

            MemoryUsage u = pool.getCollectionUsage();
            if (u == null) u = ZEROS;

            m.put(entryCollectMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getCollectMemoryUsage",
                  "ERROR: should never come here!");
        return ZEROS;
    } catch (RuntimeException x) {
        log.trace("getPeakMemoryUsage",
              "Failed to get MemoryUsage: " + x);
        log.debug("getPeakMemoryUsage",x);
        throw x;
    }

}
 
示例28
MemoryUsage getNonHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)
                m.get(nonHeapMemoryTag);
            if (cached != null) {
                log.debug("getNonHeapMemoryUsage",
                      "jvmMemory.getNonHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.NON_HEAP);

            //  getNonHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(nonHeapMemoryTag,u);
            return u;
        }
        // Should never come here.
        // Log error!
        log.trace("getNonHeapMemoryUsage",
                  "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.NON_HEAP);
    } catch (RuntimeException x) {
        log.trace("getNonHeapMemoryUsage",
              "Failed to get NonHeapMemoryUsage: " + x);
        log.debug("getNonHeapMemoryUsage",x);
        throw x;
    }

}
 
示例29
MemoryUsage getHeapMemoryUsage() {
    try {
        final Map<Object, Object> m = JvmContextFactory.getUserData();

        if (m != null) {
            final MemoryUsage cached = (MemoryUsage)m.get(heapMemoryTag);
            if (cached != null) {
                log.debug("getHeapMemoryUsage",
                      "jvmMemory.getHeapMemoryUsage found in cache.");
                return cached;
            }

            final MemoryUsage u = getMemoryUsage(MemoryType.HEAP);

            // getHeapMemoryUsage() never returns null.
            //
            // if (u == null) u=MemoryUsage.INVALID;

            m.put(heapMemoryTag,u);
            return u;
        }

        // Should never come here.
        // Log error!
        log.trace("getHeapMemoryUsage", "ERROR: should never come here!");
        return getMemoryUsage(MemoryType.HEAP);
    } catch (RuntimeException x) {
        log.trace("getHeapMemoryUsage",
              "Failed to get HeapMemoryUsage: " + x);
        log.debug("getHeapMemoryUsage",x);
        throw x;
    }
}
 
示例30
/**
 * Getter for the "JvmMemoryGCCall" variable.
 */
public EnumJvmMemoryGCCall getJvmMemoryGCCall()
    throws SnmpStatusException {
    final Map<Object,Object> m = JvmContextFactory.getUserData();

    if (m != null) {
        final EnumJvmMemoryGCCall cached
            = (EnumJvmMemoryGCCall) m.get("jvmMemory.getJvmMemoryGCCall");
        if (cached != null) return cached;
    }
    return JvmMemoryGCCallSupported;
}