Class SampleAgent

  • All Implemented Interfaces:
    org.snmp4j.agent.AgentStateListener<org.snmp4j.agent.AgentConfigManager>

    public class SampleAgent
    extends Object
    implements org.snmp4j.agent.AgentStateListener<org.snmp4j.agent.AgentConfigManager>
    The SampleAgent uses an AgentConfigManager instance to create a minimal SNMP agent using the configuration defined by SampleAgentConfig.properties in this package. That properties file defines the initial content of the registered MIB objects of this agent which may differ from the hard coded defaults.

    This SampleAgent uses the MOXodusPersistenceProvider to persistently store ManagedObjects. It assumes that all managed objects that are non-volatile are implementing the RandomAccessManagedObject interfaces.

    The agent uses the console logging to log messages.

    Since:
    3.0
    Version:
    3.0
    Author:
    Frank Fock
    • Field Detail

      • agent

        protected org.snmp4j.agent.AgentConfigManager agent
      • server

        protected org.snmp4j.agent.MOServer server
      • tableSizeLimits

        protected Properties tableSizeLimits
    • Method Detail

      • addListenAddresses

        protected void addListenAddresses​(org.snmp4j.MessageDispatcher md,
                                          List<Object> addresses)
      • run

        public void run()
      • getFactory

        protected org.snmp4j.agent.mo.MOFactory getFactory()
        Get the MOFactory that creates the various MOs (MIB Objects).
        Returns:
        a DefaultMOFactory instance by default.
        Since:
        1.3.2
      • registerMIBs

        protected void registerMIBs()
        Register your own MIB modules in the specified context of the agent. The MOFactory provided to the Modules constructor is returned by getFactory().
      • main

        public static void main​(String[] args)
        Runs a sample agent with a default configuration defined by SampleAgentConfig.properties. A sample command line is:
         -c SampleAgent.cfg -bc SampleAgent.bc udp:127.0.0.1/4700 tcp:127.0.0.1/4700
         
        Parameters:
        args - the command line arguments defining at least the listen addresses. The format is -c[s{=SampleAgent.cfg}] -bc[s{=SampleAgent.bc}] +ts[s] +cfg[s] #address[s&lt;(udp|tcp|tls):.*[/[0-9]+]?&gt;] ... For the format description see ArgumentParser.
      • agentStateChanged

        public void agentStateChanged​(org.snmp4j.agent.AgentConfigManager agentConfigManager,
                                      org.snmp4j.agent.AgentState newState)
        The agent state has changed to the new state as provided.
        Specified by:
        agentStateChanged in interface org.snmp4j.agent.AgentStateListener<org.snmp4j.agent.AgentConfigManager>
        Parameters:
        agentConfigManager - the agent's configuration manager. Use this object to access all agent resources, if needed to process this event.
        newState - the new state of the agent. Although the listener may advance to agent state further, it is not recommended to do so, because the AgentConfigManager will do it anyway.