Package org.snmp4j.agent.db.sample
Class SampleAgent
- java.lang.Object
-
- org.snmp4j.agent.db.sample.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 anAgentConfigManager
instance to create a minimal SNMP agent using the configuration defined bySampleAgentConfig.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 theMOXodusPersistenceProvider
to persistently storeManagedObject
s. It assumes that all managed objects that are non-volatile are implementing theRandomAccessManagedObject
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
static String
COMMAND_LINE_OPTIONS
static String
COMMAND_LINE_PARAMS
protected org.snmp4j.agent.MOServer
server
protected Properties
tableSizeLimits
-
Constructor Summary
Constructors Modifier Constructor Description SampleAgent(Map<String,List<Object>> args)
protected
SampleAgent(Map<String,List<Object>> args, org.snmp4j.agent.MOServer[] moServers, MOXodusPersistence xodusPersistence, Properties tableSizeLimits, org.snmp4j.agent.io.ImportMode importMode)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addListenAddresses(org.snmp4j.MessageDispatcher md, List<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.io.MOInputFactory
createMOInputFactory(String configFilename, org.snmp4j.agent.io.ImportMode importMode)
protected org.snmp4j.agent.mo.MOFactory
getFactory()
Get theMOFactory
that creates the various MOs (MIB Objects).protected static Properties
getTableSizeLimitsProperties(Map<String,List<Object>> args)
static void
main(String[] args)
Runs a sample agent with a default configuration defined bySampleAgentConfig.properties
.protected void
registerMIBs()
Register your own MIB modules in the specified context of the agent.void
run()
protected void
setupAgent(Map<String,List<Object>> args, org.snmp4j.agent.MOServer[] moServers, org.snmp4j.agent.io.MOInputFactory configurationFactory, List<Object> listenAddress, String dhKickstartInfoPath)
-
-
-
Field Detail
-
COMMAND_LINE_OPTIONS
public static final String COMMAND_LINE_OPTIONS
- See Also:
- Constant Field Values
-
COMMAND_LINE_PARAMS
public static final String COMMAND_LINE_PARAMS
- See Also:
- Constant Field Values
-
agent
protected org.snmp4j.agent.AgentConfigManager agent
-
server
protected org.snmp4j.agent.MOServer server
-
tableSizeLimits
protected Properties tableSizeLimits
-
-
Constructor Detail
-
SampleAgent
protected SampleAgent(Map<String,List<Object>> args, org.snmp4j.agent.MOServer[] moServers, MOXodusPersistence xodusPersistence, Properties tableSizeLimits, org.snmp4j.agent.io.ImportMode importMode)
-
-
Method Detail
-
getTableSizeLimitsProperties
protected static Properties getTableSizeLimitsProperties(Map<String,List<Object>> args)
-
createMOInputFactory
@NotNull protected org.snmp4j.agent.io.MOInputFactory createMOInputFactory(String configFilename, org.snmp4j.agent.io.ImportMode importMode)
-
setupAgent
protected void setupAgent(Map<String,List<Object>> args, org.snmp4j.agent.MOServer[] moServers, org.snmp4j.agent.io.MOInputFactory configurationFactory, List<Object> listenAddress, String dhKickstartInfoPath)
-
addListenAddresses
protected void addListenAddresses(org.snmp4j.MessageDispatcher md, List<Object> addresses)
-
run
public void run()
-
getFactory
protected org.snmp4j.agent.mo.MOFactory getFactory()
Get theMOFactory
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. TheMOFactory
provided to theModules
constructor is returned bygetFactory()
.
-
main
public static void main(String[] args)
Runs a sample agent with a default configuration defined bySampleAgentConfig.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<(udp|tcp|tls):.*[/[0-9]+]?>] ..
. For the format description seeArgumentParser
.
-
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 interfaceorg.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 theAgentConfigManager
will do it anyway.
-
-