snmp4j を使用して SNMP エージェントをシミュレートしようとしています。MO をエージェントに登録しようとしています。以下はコード スニペットです。
static final OID mo1= new OID("1.3.6.1.4.1.1234.1.104");
static final OID mo2= new OID("1.3.6.1.4.1.1234.1.104.1");
static final OID mo3= new OID("1.3.6.1.4.1.1234.1.104.1.1");
agent.registerManagedObject(MOCreator.createReadOnly(mo1,"m1"));
agent.registerManagedObject(MOCreator.createReadOnly(mo2,"m2"));
agent.registerManagedObject(MOCreator.createReadOnly(mo3,"m3"));
public class MOCreator {
public static MOScalar createReadOnly(OID oid,Object value ){
return new MOScalar(oid,
MOAccessImpl.ACCESS_READ_ONLY,
getVariable(value));
}
private static Variable getVariable(Object value) {
System.out.println("Value : "+value.toString());
OctetString octetString = new OctetString((String)value);
if(value instanceof String) {
return octetString;
}
throw new IllegalArgumentException("Unmanaged Type: " + value.getClass());
}
}
エージェントの起動中に DuplicateRegistrationException が発生します。oid の登録方法を教えてください。道順を教えてください。