本文整理汇总了Java中com.sun.jmx.snmp.SnmpStatusException.noSuchInstance方法的典型用法代码示例。如果您正苦于以下问题:Java SnmpStatusException.noSuchInstance方法的具体用法?Java SnmpStatusException.noSuchInstance怎么用?Java SnmpStatusException.noSuchInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.jmx.snmp.SnmpStatusException
的用法示例。
在下文中一共展示了SnmpStatusException.noSuchInstance方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getChild
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
SnmpMibNode getChild(long id) throws SnmpStatusException {
// first we need to retrieve the identifier in the list of children
//
final int pos= getInsertAt(id);
if (pos >= nbChildren) {
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
if (varList[pos] != (int) id) {
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
// Access the node
//
SnmpMibNode child = null;
try {
child = children.elementAtNonSync(pos);
} catch(ArrayIndexOutOfBoundsException e) {
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
if (child == null) {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
return child;
}
示例2: get
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Get the value of a scalar variable
*/
public SnmpValue get(long var, Object data)
throws SnmpStatusException {
switch((int)var) {
case 3:
return new SnmpInt(node.getJvmMemManagerState());
case 2:
return new SnmpString(node.getJvmMemManagerName());
case 1:
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
default:
break;
}
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
示例3: getNextOid
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
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) {
// This should never happen.
// If we get here it's a bug.
//
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 is null: we reached the end of the table.
//
if (next == null)
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
return next;
}
示例4: getNextOid
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
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) {
// This should never happen.
// If we get here it's a bug.
//
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 is null: we reached the end of the table.
//
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;
}
}
示例5: getNextOid
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
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) {
// This should never happen.
// If we get here it's a bug.
//
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 is null: we reached the end of the table.
//
if (next == null)
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
return next;
}
示例6: get
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Get the value of a scalar variable
*/
public SnmpValue get(long var, Object data)
throws SnmpStatusException {
switch((int)var) {
case 6:
return new SnmpInt(node.getJvmThreadCpuTimeMonitoring());
case 5:
return new SnmpInt(node.getJvmThreadContentionMonitoring());
case 4:
return new SnmpCounter64(node.getJvmThreadTotalStartedCount());
case 3:
return new SnmpCounter(node.getJvmThreadPeakCount());
case 2:
return new SnmpGauge(node.getJvmThreadDaemonCount());
case 1:
return new SnmpGauge(node.getJvmThreadCount());
case 10: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 7:
return new SnmpCounter64(node.getJvmThreadPeakCountReset());
default:
break;
}
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
示例7: getAttributeName
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Return the name of the attribute corresponding to the SNMP variable identified by "id".
*/
public String getAttributeName(long id)
throws SnmpStatusException {
switch((int)id) {
case 120: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 23:
return "JvmMemoryNonHeapMaxSize";
case 22:
return "JvmMemoryNonHeapCommitted";
case 21:
return "JvmMemoryNonHeapUsed";
case 110: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 20:
return "JvmMemoryNonHeapInitSize";
case 13:
return "JvmMemoryHeapMaxSize";
case 12:
return "JvmMemoryHeapCommitted";
case 3:
return "JvmMemoryGCCall";
case 11:
return "JvmMemoryHeapUsed";
case 2:
return "JvmMemoryGCVerboseLevel";
case 101: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 10:
return "JvmMemoryHeapInitSize";
case 1:
return "JvmMemoryPendingFinalCount";
case 100: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
default:
break;
}
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
示例8: findHandlingNode
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
@Override
final synchronized void findHandlingNode(SnmpVarBind varbind,
long[] oid, int depth,
SnmpRequestTree handlers)
throws SnmpStatusException {
final int length = oid.length;
if (handlers == null)
throw new SnmpStatusException(SnmpStatusException.snmpRspGenErr);
if (depth >= length)
throw new SnmpStatusException(SnmpStatusException.noAccess);
if (oid[depth] != nodeId)
throw new SnmpStatusException(SnmpStatusException.noAccess);
if (depth+2 >= length)
throw new SnmpStatusException(SnmpStatusException.noAccess);
// Checks that the oid is valid
// validateOid(oid,depth);
// Gets the part of the OID that identifies the entry
final SnmpOid entryoid = new SnmpEntryOid(oid, depth+2);
// Finds the entry: false means that the entry does not exists
final Object data = handlers.getUserData();
final boolean hasEntry = contains(entryoid, data);
// Fails if the entry is not found and the table does not
// not support creation.
// We know that the entry does not exists if (isentry == false).
if (!hasEntry) {
if (!handlers.isCreationAllowed()) {
// we're not doing a set
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
} else if (!isCreationEnabled())
// we're doing a set but creation is disabled.
throw new
SnmpStatusException(SnmpStatusException.snmpRspNoAccess);
}
final long var = oid[depth+1];
// Validate the entry id
if (hasEntry) {
// The entry already exists - validate the id
validateVarEntryId(entryoid,var,data);
}
// Registers this node for the identified entry.
//
if (handlers.isSetRequest() && isRowStatus(entryoid,var,data))
// We only try to identify the RowStatus for SET operations
//
handlers.add(this,depth,entryoid,varbind,(!hasEntry),varbind);
else
handlers.add(this,depth,entryoid,varbind,(!hasEntry));
}
示例9: findHandlingNode
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
@Override
void findHandlingNode(SnmpVarBind varbind,
long[] oid, int depth,
SnmpRequestTree handlers)
throws SnmpStatusException {
int length = oid.length;
if (handlers == null)
throw new SnmpStatusException(SnmpStatusException.snmpRspGenErr);
final Object data = handlers.getUserData();
if (depth >= length) {
// Nothing is left... the oid is not valid
throw new SnmpStatusException(SnmpStatusException.noAccess);
}
long arc = oid[depth];
if (isNestedArc(arc)) {
// This arc leads to a subgroup: delegates the search to the
// method defined in SnmpMibOid
super.findHandlingNode(varbind,oid,depth,handlers);
} else if (isTable(arc)) {
// This arc leads to a table: forward the search to the table.
// Gets the table
SnmpMibTable table = getTable(arc);
// Forward the search to the table
table.findHandlingNode(varbind,oid,depth+1,handlers);
} else {
// If it's not a variable, throws an exception
validateVarId(arc, data);
// The trailing .0 is missing in the OID
if (depth+2 > length) {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
// There are too many arcs left in the OID (there should remain
// a single trailing .0)
if (depth+2 < length) {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
// The last trailing arc is not .0
if (oid[depth+1] != 0L) {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
// It's one of our variable, register this node.
handlers.add(this,depth,varbind);
}
}
示例10: get
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Get the value of an SNMP variable.
*
* <p><b><i>
* You should never need to use this method directly.
* </i></b></p>
*
* @param meta The impacted metadata object
* @param name The ObjectName of the impacted MBean
* @param id The OID arc identifying the variable we're trying to set.
* @param data User contextual data allocated through the
* {@link com.sun.jmx.snmp.agent.SnmpUserDataFactory}
*
* @return The value of the variable.
*
* @exception SnmpStatusException whenever an SNMP exception must be
* raised. Raising an exception will abort the request. <br>
* Exceptions should never be raised directly, but only by means of
* <code>
* req.registerGetException(<i>VariableId</i>,<i>SnmpStatusException</i>)
* </code>
**/
public SnmpValue get(SnmpGenericMetaServer meta, ObjectName name,
long id, Object data)
throws SnmpStatusException {
final String attname = meta.getAttributeName(id);
Object result = null;
try {
result = server.getAttribute(name,attname);
} catch (MBeanException m) {
Exception t = m.getTargetException();
if (t instanceof SnmpStatusException)
throw (SnmpStatusException) t;
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
} catch (Exception e) {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
return meta.buildSnmpValue(id,result);
}
示例11: mapGetException
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
public static int mapGetException(int errorStatus, int version)
throws SnmpStatusException {
final int errorCode = errorStatus;
if (version == SnmpDefinitions.snmpVersionOne)
return errorCode;
int mappedErrorCode = errorCode;
// Now take care of V2 errorCodes that can be stored
// in the varbind itself:
if (errorCode ==
SnmpStatusException.noSuchObject)
// noSuchObject => noSuchObject
mappedErrorCode = errorCode;
else if (errorCode ==
SnmpStatusException.noSuchInstance)
// noSuchInstance => noSuchInstance
mappedErrorCode = errorCode;
// Now we're going to try to transform every other
// global code in either noSuchInstance or noSuchObject,
// so that the get can return a partial result.
//
// Only noSuchInstance or noSuchObject can be stored
// in the varbind itself.
//
// According to RFC 1905: noAccess is emitted when the
// the access is denied because it is not in the MIB view...
//
else if (errorCode ==
SnmpStatusException.noAccess)
// noAccess => noSuchInstance
mappedErrorCode = SnmpStatusException.noSuchInstance;
// According to RFC 1905: (my interpretation because it is not
// really clear) The specified variable name exists - but the
// variable does not exists and cannot be created under the
// present circumstances (probably because the request specifies
// another variable/value which is incompatible, or because the
// value of some other variable in the MIB prevents the creation)
//
// Note that this error should never be raised in a GET context
// but who knows?
//
else if (errorCode == SnmpStatusException.snmpRspInconsistentName)
// inconsistentName => noSuchInstance
mappedErrorCode = SnmpStatusException.noSuchInstance;
// All the errors comprised between snmpRspWrongType and
// snmpRspInconsistentValue concern values: so we're going
// to assume the OID was correct, and reply with noSuchInstance.
//
// Note that this error should never be raised in a GET context
// but who knows?
//
else if ((errorCode >= SnmpStatusException.snmpRspWrongType) &&
(errorCode <= SnmpStatusException.snmpRspInconsistentValue))
mappedErrorCode = SnmpStatusException.noSuchInstance;
// We're going to assume the OID was correct, and reply
// with noSuchInstance.
//
else if (errorCode == SnmpStatusException.readOnly)
mappedErrorCode = SnmpStatusException.noSuchInstance;
// For all other errors but genErr, we're going to reply with
// noSuchObject
//
else if (errorCode != SnmpStatusException.snmpRspAuthorizationError &&
errorCode != SnmpStatusException.snmpRspGenErr)
mappedErrorCode = SnmpStatusException.noSuchObject;
// Only genErr will abort the GET and be returned as global
// error.
//
return mappedErrorCode;
}
示例12: get
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Get the value of a scalar variable
*/
public SnmpValue get(long var, Object data)
throws SnmpStatusException {
switch((int)var) {
case 9:
return new SnmpString(node.getJvmThreadInstName());
case 8:
return new SnmpCounter64(node.getJvmThreadInstCpuTimeNs());
case 7:
return new SnmpCounter64(node.getJvmThreadInstWaitTimeMs());
case 6:
return new SnmpCounter64(node.getJvmThreadInstWaitCount());
case 5:
return new SnmpCounter64(node.getJvmThreadInstBlockTimeMs());
case 4:
return new SnmpCounter64(node.getJvmThreadInstBlockCount());
case 3:
return new SnmpString(node.getJvmThreadInstState());
case 11:
return new SnmpOid(node.getJvmThreadInstLockOwnerPtr());
case 2:
return new SnmpCounter64(node.getJvmThreadInstId());
case 10:
return new SnmpString(node.getJvmThreadInstLockName());
case 1:
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
default:
break;
}
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
示例13: getNextOid
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Get the <CODE>SnmpOid</CODE> index of the row that follows
* the given <CODE>oid</CODE> in the table. The given <CODE>
* oid</CODE> does not need to be a valid row OID index.
*
* <p>
* @param oid The OID from which the search will begin.
*
* @param userData A contextual object containing user-data.
* This object is allocated through the <code>
* {@link com.sun.jmx.snmp.agent.SnmpUserDataFactory}</code>
* for each incoming SNMP request.
*
* @return The next <CODE>SnmpOid</CODE> index.
*
* @exception SnmpStatusException There is no index following the
* specified <CODE>oid</CODE> in the table.
*/
protected SnmpOid getNextOid(SnmpOid oid, Object userData)
throws SnmpStatusException {
if (size == 0) {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
final SnmpOid resOid = oid;
// Just a simple check to speed up retrieval of last element ...
//
// XX SnmpOid last= (SnmpOid) oids.lastElement();
SnmpOid last= tableoids[tablecount-1];
if (last.equals(resOid)) {
// Last element of the table ...
//
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
// First find the oid. This will allow to speed up retrieval process
// during smart discovery of table (using the getNext) as the
// management station will use the valid index returned during a
// previous getNext ...
//
// Returns the position following the position at which resOid
// is found, or the position at which resOid should be inserted.
//
final int newPos = getInsertionPoint(resOid,false);
// If the position returned is not out of bound, we will find
// the next element in the array.
//
if (newPos > -1 && newPos < size) {
try {
// XX last = (SnmpOid) oids.elementAt(newPos);
last = tableoids[newPos];
} catch(ArrayIndexOutOfBoundsException e) {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
} else {
// We are dealing with the last element of the table ..
//
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
return last;
}
示例14: get
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Get the value of a scalar variable
*/
public SnmpValue get(long var, Object data)
throws SnmpStatusException {
switch((int)var) {
case 120: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 23:
return new SnmpCounter64(node.getJvmMemoryNonHeapMaxSize());
case 22:
return new SnmpCounter64(node.getJvmMemoryNonHeapCommitted());
case 21:
return new SnmpCounter64(node.getJvmMemoryNonHeapUsed());
case 110: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 20:
return new SnmpCounter64(node.getJvmMemoryNonHeapInitSize());
case 13:
return new SnmpCounter64(node.getJvmMemoryHeapMaxSize());
case 12:
return new SnmpCounter64(node.getJvmMemoryHeapCommitted());
case 3:
return new SnmpInt(node.getJvmMemoryGCCall());
case 11:
return new SnmpCounter64(node.getJvmMemoryHeapUsed());
case 2:
return new SnmpInt(node.getJvmMemoryGCVerboseLevel());
case 101: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 10:
return new SnmpCounter64(node.getJvmMemoryHeapInitSize());
case 1:
return new SnmpGauge(node.getJvmMemoryPendingFinalCount());
case 100: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
default:
break;
}
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}
示例15: get
import com.sun.jmx.snmp.SnmpStatusException; //导入方法依赖的package包/类
/**
* Get the value of a scalar variable
*/
public SnmpValue get(long var, Object data)
throws SnmpStatusException {
switch((int)var) {
case 23: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 22: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 21: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 9:
return new SnmpInt(node.getJvmRTBootClassPathSupport());
case 20: {
throw new SnmpStatusException(SnmpStatusException.noSuchInstance);
}
case 8:
return new SnmpString(node.getJvmRTManagementSpecVersion());
case 7:
return new SnmpString(node.getJvmRTSpecVersion());
case 6:
return new SnmpString(node.getJvmRTSpecVendor());
case 5:
return new SnmpString(node.getJvmRTSpecName());
case 4:
return new SnmpString(node.getJvmRTVMVersion());
case 3:
return new SnmpString(node.getJvmRTVMVendor());
case 12:
return new SnmpCounter64(node.getJvmRTStartTimeMs());
case 11:
return new SnmpCounter64(node.getJvmRTUptimeMs());
case 2:
return new SnmpString(node.getJvmRTVMName());
case 1:
return new SnmpString(node.getJvmRTName());
case 10:
return new SnmpInt(node.getJvmRTInputArgsCount());
default:
break;
}
throw new SnmpStatusException(SnmpStatusException.noSuchObject);
}