Hello list,
snmp4j is for the most part working as expected .. I am however having a
problem with a method of mine.
The method will leave a DefaultUdpTransportMapping listerner running, and it
will leave a Timer running. These never seem to die. What am I doing wrong, and
how can I kill of these listeners?
public ArrayList<String> getValues(String oid) throws IOException {
ArrayList<String> result = new ArrayList<String>();
TransportMapping transport = new DefaultUdpTransportMapping();
//transport.listen();
// Create Target Address object
CommunityTarget comtarget = new CommunityTarget();
comtarget.setCommunity(new
OctetString(Setting.getInstance().getValue("settings", "community")));
comtarget.setVersion(SnmpConstants.version2c);
comtarget.setAddress(new
UdpAddress(Setting.getInstance().getValue("settings", "ip") + "/" +
Setting.getInstance().getValue("settings", "port")));
comtarget.setRetries(2);
comtarget.setTimeout(5000);
// Create the PDU object
PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID(oid)));
pdu.setType(PDU.GET);
//pdu.setRequestID(new Integer32(1));
// Create Snmp object for sending data to Agent
Snmp snmp = new Snmp(transport);
snmp.listen();
ResponseEvent response;
while(true) {
response = snmp.getNext(pdu, comtarget);
if (response != null) {
PDU responsePDU = response.getResponse();
if(!response.getResponse().get(0).getOid().startsWith(new
OID(oid))) {
//System.out.println("Starting with the same OID -
breaking!");
break;
}
if (responsePDU != null) {
int errorStatus = responsePDU.getErrorStatus();
if (errorStatus == PDU.noError){
result.add(responsePDU.get(0).toValueString());
pdu = response.getResponse();
System.out.println("Adding " +
responsePDU.get(0).toValueString());
}
else {
System.out.println("Response was error: " +
pdu.getErrorStatusText());
break;
}
} else {
System.out.println("PDU received was null");
break;
}
} else {
System.out.println("Response received was null");
break;
}
}
snmp.close();
return result;
}
This message and any attachments are confidential to Vizada and intended solely
for
the individual(s) or entity to which it is addressed. If you are not the
intended recipient,
do not read, copy or distribute the email or any attachments. Please notify the
sender
immediately by return e-mail.
_______________________________________________
SNMP4J mailing list
[email protected]
http://lists.agentpp.org/mailman/listinfo/snmp4j