Class SampleAgent

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

    public class SampleAgent
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      protected org.snmp4j.agent.AgentConfigManager agent  
      protected org.snmp4j.agent.MOServer server  
      protected java.util.Properties tableSizeLimits  
    • Constructor Summary

      Constructors 
      Constructor Description
      SampleAgent​(java.util.Map<java.lang.String,java.util.List<java.lang.Object>> args)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addListenAddresses​(org.snmp4j.MessageDispatcher md, java.util.List<java.lang.Object> addresses)  
      void agentStateChanged​(org.snmp4j.agent.AgentConfigManager agentConfigManager, org.snmp4j.agent.AgentState newState)
      The agent state has changed to the new state as provided.
      protected org.snmp4j.agent.mo.MOFactory getFactory()
      Get the MOFactory that creates the various MOs (MIB Objects).
      static void main​(java.lang.String[] args)
      Runs a sample agent with a default configuration defined by SampleAgentConfig.properties.
      protected void registerMIBs()
      Register your own MIB modules in the specified context of the agent.
      void run()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • agent

        protected org.snmp4j.agent.AgentConfigManager agent
      • server

        protected org.snmp4j.agent.MOServer server
      • tableSizeLimits

        protected java.util.Properties tableSizeLimits
    • Constructor Detail

      • SampleAgent

        public SampleAgent​(java.util.Map<java.lang.String,java.util.List<java.lang.Object>> args)
    • Method Detail

      • addListenAddresses

        protected void addListenAddresses​(org.snmp4j.MessageDispatcher md,
                                          java.util.List<java.lang.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​(java.lang.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.