[SNMP4J] FW: snmp stability

Lilach Refaeli lilachr at allot.com
Thu Jun 2 09:06:22 CEST 2005


Hi Frank;

we have an enterprise application (J2EE) using snmp4j with snmp version
3.
we have encountered the following problem:
Upon starting the J2EE server, our application executes a get/set
request to an agent (located at IP x) and it works fine. We then
manually disconnect our agent hardware from the network, configure
another hardware device to the same IP (IP x) and plug the new device to
the network.
Now, when we try to execute a get request through our application to
this 'new' agent we receive timeout result.

We queried the engine ID of the new agent and saw that it has changed
(we used mibExplorer to see this new engineID). however, the engine ID
of the request that is sent through our application (using snmp4j) is
still the 'old' engine ID (we used a sniffer to capture this). 
when we restart the J2EE server (kill and start the process) everything
goes back to normal as the snmp4j package alligns with the correct
engineID.

It looks like there is a cache that is maintained by the snmp4j package
that does not synchronize changes during application uptime. could this
be the case? Also, shouldn't every request re-discover the engine ID
each time it is executed? 
Is there a way to force our application to perform the discovery
process? (Would MPv3.getEngineID always get the engine ID from the
engine or would it use the pre-discovered engine ID like described
above?) 

We appreciate your help on this.
Thanks in advance,
Lilach




More information about the SNMP4J mailing list