- java.lang.Object
-
- org.snmp4j.agent.AgentConfigManager
-
- All Implemented Interfaces:
Runnable,VariableProvider
public class AgentConfigManager extends Object implements Runnable, VariableProvider
TheAgentConfigManageris the main component of a SNMP4J-Agent. It puts together agent configuration and agent components like command processor, message dispatcher, managed objects and server, and standard MIB modules like USM, VACM, etc.- Since:
- 1.2
- Version:
- 3.0
- Author:
- Frank Fock
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAgentConfigManager.AgentStatestatic classAgentConfigManager.ErrorDescriptor
-
Field Summary
-
Constructor Summary
Constructors Constructor Description AgentConfigManager(org.snmp4j.smi.OctetString agentsOwnEngineID, org.snmp4j.MessageDispatcher messageDispatcher, VACM vacm, MOServer[] moServers, org.snmp4j.util.WorkerPool workerPool, MOInputFactory configurationFactory, MOPersistenceProvider persistenceProvider, EngineBootsProvider engineBootsProvider)Creates a SNMP agent configuration which can be run by callingrun()later.AgentConfigManager(org.snmp4j.smi.OctetString agentsOwnEngineID, org.snmp4j.MessageDispatcher messageDispatcher, VACM vacm, MOServer[] moServers, org.snmp4j.util.WorkerPool workerPool, MOInputFactory configurationFactory, MOPersistenceProvider persistenceProvider, EngineBootsProvider engineBootsProvider, MOFactory moFactory)Creates a SNMP agent configuration which can be run by callingrun()later.AgentConfigManager(org.snmp4j.smi.OctetString agentsOwnEngineID, org.snmp4j.MessageDispatcher messageDispatcher, VACM vacm, MOServer[] moServers, org.snmp4j.util.WorkerPool workerPool, MOInputFactory configurationFactory, MOPersistenceProvider persistenceProvider, EngineBootsProvider engineBootsProvider, MOFactory moFactory, Collection<DHKickstartParameters> diffieHellmanKickstartParameters)Creates a SNMP agent configuration which can be run by callingrun()later.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAgentStateListener(AgentStateListener<AgentConfigManager> agentStateListener)voidconfigure()Configures components and managed objects.booleancontinueProcessing()Continues processing of SNMP requests by coupling message dispatcher and agent.protected CommandProcessorcreateCommandProcessor(org.snmp4j.smi.OctetString engineID)Creates the command processor.protected NotificationOriginatorcreateNotificationOriginator()protected ProxyForwardercreateProxyForwarder(CommandProcessor agent)Creates and registers the default proxy forwarder application (ProxyForwarderImpl).protected org.snmp4j.SessioncreateSnmpSession(org.snmp4j.MessageDispatcher dispatcher)Creates the SNMP session to be used for this agent.protected org.snmp4j.security.TSMcreateTSM()Creates the TSM used by this agent configuration.protected org.snmp4j.security.USMcreateUSM()Creates the USM used by this agent configuration.protected voidfireAgentStateChange()protected voidfireLaunchNotifications()Fire notifications after agent start, i.e.NotificationOriginatorgetAgentNotificationOriginator()Returns the notification originator of the agent.protected org.snmp4j.smi.OctetStringgetContext(MOGroup mibGroup, org.snmp4j.smi.OctetString defaultContext)This method can be overwritten by a subagent to specify the contexts each MIB module (group) will be registered to.org.snmp4j.smi.OctetStringgetDefaultContext()Returns the default context - which is the context that is used by the base agent to register its MIB objects.protected Collection<DHKickstartParameters>getDhKickstartParameters()Overwrite this method to provide Diffie Hellman kick start parameters.NotificationLogMibgetNotificationLogMIB()Returns the NOTIFICATION-LOG-MIB implementation used by this config manager.NotificationOriginatorgetNotificationOriginator()Returns the notification originator of this agent configuration.intgetPersistenceImportMode()Returns the currently active import mode for theMOPersistenceProvider.Snmp4jConfigMibgetSnmp4jConfigMIB()Returns the SNMP4J-CONFIG-MIB implementation used by this config manager.Snmp4jLogMibgetSnmp4jLogMIB()Returns the SNMP4J-LOG-MIB implementation used by this config manager.Snmp4jProxyMibgetSnmp4jProxyMIB()Returns the SNMP4J-CONFIG-MIB implementation used by this config manager.SnmpCommunityMIBgetSnmpCommunityMIB()Returns the SNMP-COMMUNITY-MIB implementation used by this config manager.SnmpMpdMibgetSnmpMpdMib()Returns the SNMPv2-MPD-MIB implementation used by this config manager.SnmpNotificationMIBgetSnmpNotificationMIB()Returns the SNMP-NOTIFICATION-MIB implementation used by this config manager.SnmpTargetMIBgetSnmpTargetMIB()Returns the SNMP-TARGET-MIB implementation used by this config manager.SNMPv2MIBgetSNMPv2MIB()Returns the SNMPv2-MIB implementation used by this config manager.intgetState()Returns the state of the agent.protected org.snmp4j.security.SecurityProtocolsgetSupportedSecurityProtocols()Gets the set of security protocols supported by this agent configuration.org.snmp4j.smi.OctetStringgetSysDescr()Returns the sysDescr.0 value for this agent which can be modified by altering its value.org.snmp4j.smi.OIDgetSysOID()Gets the system OID which can be modified by altering its value.org.snmp4j.smi.Integer32getSysServices()Gets the system services ID which can be modified by altering its value.SysUpTimegetSysUpTime()Gets the sysUpTime.0 instance for the default context.org.snmp4j.security.USMgetUsm()UsmMIBgetUsmMIB()VACMgetVACM()Returns the VACM used by this agent config manager.VacmMIBgetVacmMIB()org.snmp4j.smi.VariablegetVariable(String name)Gets the variable with the specified name, which might be either a textual name or an instance OID.voidinitialize()protected voidinitMandatoryMIBs()protected voidinitMessageDispatcherWithMPs(org.snmp4j.MessageDispatcher mp)protected voidinitNotificationLogMIB(VACM vacm, SnmpNotificationMIB notifyMIB)protected voidinitOptionalMIBs()protected voidinitSecurityModels(EngineBootsProvider engineBootsProvider)voidinitSnmp4jConfigMIB(MOPersistenceProvider[] persistenceProvider)voidinitSnmp4jLogMIB()voidinitSnmp4jProxyMIB(org.snmp4j.smi.OctetString context)protected voidinitSnmpUsmDhObjectsMib()protected voidlaunch()Launch the agent by registering and lauching (i.e., set to listen mode) transport mappings.protected voidlaunchTransportMappings()protected static voidlaunchTransportMappings(Collection<? extends org.snmp4j.TransportMapping<?>> transportMappings)Puts a list of transport mappings into listen mode.protected voidlinkCounterListener()protected voidregisterMIBs(org.snmp4j.smi.OctetString context)Register the initialized MIB modules in the specified context of the agent.voidregisterShutdownHook()Registers a shutdown hookThreadat theRuntimeinstance.protected voidregisterTransportMappings()booleanremoveAgentStateListener(AgentStateListener<AgentConfigManager> agentStateListener)booleanrestoreState()Restore a previously persistently saved state - if available.voidrun()Initializes, configures, restores agent state, and then launches the SNMP agent depending on its current run state.booleansaveState()Save the state of the agent persistently - if necessary persistent storage is available.voidsetNotificationOriginator(NotificationOriginator notificationOriginator)Sets the notification originator of this agent configuration.voidsetPersistenceImportMode(int importMode)Sets the import mode for theMOPersistenceProvider.voidsetTableSizeLimit(int sizeLimit)Sets the table size limit for the tables in this agent.voidsetTableSizeLimits(Properties sizeLimits)Sets the table size limits for the tables in this agent.voidsetupProxyForwarder()voidsetupSnmpUsmDhObjectsMib(Collection<DHKickstartParameters> dhKickstartParameters)voidshutdown()Shutdown the agent by closing the internal SNMP session - including the transport mappings provided through the configuredMessageDispatcherand then store the agent state to persistent storage (if available).protected static voidstopTransportMappings(Collection<? extends org.snmp4j.TransportMapping<?>> transportMappings)Closes a list of transport mappings.voidsuspendProcessing()Suspends processing of SNMP requests.protected voidunregisterMIBs(org.snmp4j.smi.OctetString context)Unregister the initialized MIB modules from the default context of the agent.
-
-
-
Field Detail
-
agent
protected CommandProcessor agent
-
workerPool
protected org.snmp4j.util.WorkerPool workerPool
-
vacm
protected VACM vacm
-
usm
protected org.snmp4j.security.USM usm
-
servers
protected MOServer[] servers
-
session
protected org.snmp4j.Session session
-
dispatcher
protected org.snmp4j.MessageDispatcher dispatcher
-
engineID
protected org.snmp4j.smi.OctetString engineID
-
proxyForwarder
protected ProxyForwarder proxyForwarder
-
notificationOriginator
protected NotificationOriginator notificationOriginator
-
configuration
protected MOInputFactory configuration
-
persistenceProvider
protected MOPersistenceProvider persistenceProvider
-
persistenceImportMode
protected int persistenceImportMode
-
engineBootsProvider
protected EngineBootsProvider engineBootsProvider
-
snmpv2MIB
protected SNMPv2MIB snmpv2MIB
-
snmpMpdMib
protected SnmpMpdMib snmpMpdMib
-
targetMIB
protected SnmpTargetMIB targetMIB
-
communityMIB
protected SnmpCommunityMIB communityMIB
-
notificationMIB
protected SnmpNotificationMIB notificationMIB
-
frameworkMIB
protected SnmpFrameworkMIB frameworkMIB
-
usmMIB
protected UsmMIB usmMIB
-
vacmMIB
protected VacmMIB vacmMIB
-
tlsTmMib
protected SnmpTlsTmMib tlsTmMib
-
proxyMIB
protected SnmpProxyMIB proxyMIB
-
snmpUsmDhObjectsMib
protected SnmpUsmDhObjectsMib snmpUsmDhObjectsMib
-
snmp4jLogMIB
protected Snmp4jLogMib snmp4jLogMIB
-
snmp4jConfigMIB
protected Snmp4jConfigMib snmp4jConfigMIB
-
snmp4jProxyMIB
protected Snmp4jProxyMib snmp4jProxyMIB
-
notificationLogMIB
protected NotificationLogMib notificationLogMIB
-
notificationLogDefaultLimit
protected org.snmp4j.smi.UnsignedInteger32 notificationLogDefaultLimit
-
notificaitonLogGlobalLimit
protected org.snmp4j.smi.UnsignedInteger32 notificaitonLogGlobalLimit
-
notificaitonLogGlobalAge
protected org.snmp4j.smi.UnsignedInteger32 notificaitonLogGlobalAge
-
moFactory
protected MOFactory moFactory
-
sysDescr
protected org.snmp4j.smi.OctetString sysDescr
-
sysOID
protected org.snmp4j.smi.OID sysOID
-
sysServices
protected org.snmp4j.smi.Integer32 sysServices
-
defaultContext
protected org.snmp4j.smi.OctetString defaultContext
-
runState
protected AgentState runState
-
tableSizeLimit
protected MOTableSizeLimit<MOTableRow> tableSizeLimit
-
diffieHellmanKickstartParameters
protected Collection<DHKickstartParameters> diffieHellmanKickstartParameters
-
agentStateListeners
protected List<AgentStateListener<AgentConfigManager>> agentStateListeners
-
-
Constructor Detail
-
AgentConfigManager
public AgentConfigManager(org.snmp4j.smi.OctetString agentsOwnEngineID, org.snmp4j.MessageDispatcher messageDispatcher, VACM vacm, MOServer[] moServers, org.snmp4j.util.WorkerPool workerPool, MOInputFactory configurationFactory, MOPersistenceProvider persistenceProvider, EngineBootsProvider engineBootsProvider)Creates a SNMP agent configuration which can be run by callingrun()later.- Parameters:
agentsOwnEngineID- the authoritative engine ID of the agent.messageDispatcher- the MessageDispatcher to use. The message dispatcher must be configured outside, i.e. transport mappings have to be added before this constructor is being called.vacm- a view access control model. Typically, this parameter is set tonullto use the default VACM associated with theVacmMIB.moServers- the managed object server(s) that serve the managed objects available to this agent.workerPool- theWorkerPoolto be used to process incoming request.configurationFactory- aMOInputFactorythat creates aMOInputstream with containing serialized ManagedObject information with the agent's configuration ornullotherwise.persistenceProvider- the primaryMOPersistenceProviderto be used to load and store persistent MOs.engineBootsProvider- the provider of engine boots counter.
-
AgentConfigManager
public AgentConfigManager(org.snmp4j.smi.OctetString agentsOwnEngineID, org.snmp4j.MessageDispatcher messageDispatcher, VACM vacm, MOServer[] moServers, org.snmp4j.util.WorkerPool workerPool, MOInputFactory configurationFactory, MOPersistenceProvider persistenceProvider, EngineBootsProvider engineBootsProvider, MOFactory moFactory)Creates a SNMP agent configuration which can be run by callingrun()later.- Parameters:
agentsOwnEngineID- the authoritative engine ID of the agent.messageDispatcher- the MessageDispatcher to use. The message dispatcher must be configured outside, i.e. transport mappings have to be added before this constructor is being called.vacm- a view access control model. Typically, this parameter is set tonullto use the default VACM associated with theVacmMIB.moServers- the managed object server(s) that serve the managed objects available to this agent.workerPool- theWorkerPoolto be used to process incoming request.configurationFactory- aMOInputFactorythat creates aMOInputstream with containing serialized ManagedObject information with the agent's configuration ornullotherwise.persistenceProvider- the primaryMOPersistenceProviderto be used to load and store persistent MOs.engineBootsProvider- the provider of engine boots counter.moFactory- theMOFactoryto be used to createManagedObjects created by this config manager. IfnulltheDefaultMOFactorywill be used.- Since:
- 1.4
-
AgentConfigManager
public AgentConfigManager(org.snmp4j.smi.OctetString agentsOwnEngineID, org.snmp4j.MessageDispatcher messageDispatcher, VACM vacm, MOServer[] moServers, org.snmp4j.util.WorkerPool workerPool, MOInputFactory configurationFactory, MOPersistenceProvider persistenceProvider, EngineBootsProvider engineBootsProvider, MOFactory moFactory, Collection<DHKickstartParameters> diffieHellmanKickstartParameters)Creates a SNMP agent configuration which can be run by callingrun()later.- Parameters:
agentsOwnEngineID- the authoritative engine ID of the agent.messageDispatcher- the MessageDispatcher to use. The message dispatcher must be configured outside, i.e. transport mappings have to be added before this constructor is being called.vacm- a view access control model. Typically, this parameter is set tonullto use the default VACM associated with theVacmMIB.moServers- the managed object server(s) that serve the managed objects available to this agent.workerPool- theWorkerPoolto be used to process incoming request.configurationFactory- aMOInputFactorythat creates aMOInputstream with containing serialized ManagedObject information with the agent's configuration ornullotherwise.persistenceProvider- the primaryMOPersistenceProviderto be used to load and store persistent MOs.engineBootsProvider- the provider of engine boots counter.moFactory- theMOFactoryto be used to createManagedObjects created by this config manager. IfnulltheDefaultMOFactorywill be used.diffieHellmanKickstartParameters- an optional list of Diffie Hellman kickstart parameters to initialize the USM authentication and privacy keys.- Since:
- 3.0
-
-
Method Detail
-
run
public void run()
Initializes, configures, restores agent state, and then launches the SNMP agent depending on its current run state. For example, ifinitialize()has not yet been called it will be called before the agent is being configured in the next step.See also
initialize(),configure(),restoreState(), andlaunch().
-
addAgentStateListener
public void addAgentStateListener(AgentStateListener<AgentConfigManager> agentStateListener)
-
removeAgentStateListener
public boolean removeAgentStateListener(AgentStateListener<AgentConfigManager> agentStateListener)
-
fireAgentStateChange
protected void fireAgentStateChange()
-
getState
public int getState()
Returns the state of the agent.- Returns:
- a integer constant from
AgentState.STATE_CREATEDthruAgentState.STATE_RUNNING.
-
getVACM
public VACM getVACM()
Returns the VACM used by this agent config manager.- Returns:
- the VACM instance of this agent.
- Since:
- 1.4
-
getSNMPv2MIB
public SNMPv2MIB getSNMPv2MIB()
Returns the SNMPv2-MIB implementation used by this config manager.- Returns:
- the SNMPv2MIB instance of this agent.
- Since:
- 1.4
-
getSnmpMpdMib
public SnmpMpdMib getSnmpMpdMib()
Returns the SNMPv2-MPD-MIB implementation used by this config manager.- Returns:
- the SnmpMpdMib instance of this agent.
- Since:
- 2.6
-
getSnmpTargetMIB
public SnmpTargetMIB getSnmpTargetMIB()
Returns the SNMP-TARGET-MIB implementation used by this config manager.- Returns:
- the SnmpTargetMIB instance of this agent.
- Since:
- 1.4
-
getSnmpNotificationMIB
public SnmpNotificationMIB getSnmpNotificationMIB()
Returns the SNMP-NOTIFICATION-MIB implementation used by this config manager.- Returns:
- the SnmpNotificationMIB instance of this agent.
- Since:
- 1.4
-
getSnmpCommunityMIB
public SnmpCommunityMIB getSnmpCommunityMIB()
Returns the SNMP-COMMUNITY-MIB implementation used by this config manager.- Returns:
- the SnmpCommunityMIB instance of this agent.
- Since:
- 1.4
-
getNotificationLogMIB
public NotificationLogMib getNotificationLogMIB()
Returns the NOTIFICATION-LOG-MIB implementation used by this config manager.- Returns:
- the NotificationLogMib instance of this agent.
- Since:
- 1.4.2
-
getSnmp4jLogMIB
public Snmp4jLogMib getSnmp4jLogMIB()
Returns the SNMP4J-LOG-MIB implementation used by this config manager.- Returns:
- the Snmp4jLogMib instance of this agent.
- Since:
- 1.4.2
-
getSnmp4jConfigMIB
public Snmp4jConfigMib getSnmp4jConfigMIB()
Returns the SNMP4J-CONFIG-MIB implementation used by this config manager.- Returns:
- the Snmp4jConfigMib instance of this agent.
- Since:
- 1.4.2
-
getSnmp4jProxyMIB
public Snmp4jProxyMib getSnmp4jProxyMIB()
Returns the SNMP4J-CONFIG-MIB implementation used by this config manager.- Returns:
- the Snmp4jConfigMib instance of this agent.
- Since:
- 2.0
-
launch
protected void launch()
Launch the agent by registering and lauching (i.e., set to listen mode) transport mappings.
-
fireLaunchNotifications
protected void fireLaunchNotifications()
Fire notifications after agent start, i.e. sending a coldStart trap.
-
continueProcessing
public boolean continueProcessing()
Continues processing of SNMP requests by coupling message dispatcher and agent. To succeed, the current state of the agent must beAgentState.STATE_SUSPENDED.- Returns:
trueif the running state could be restored,falseotherwise.
-
suspendProcessing
public void suspendProcessing()
Suspends processing of SNMP requests. This call decouples message dispatcher and agent. All transport mappings remain unchanged and thus all ports remain opened.
-
shutdown
public void shutdown()
Shutdown the agent by closing the internal SNMP session - including the transport mappings provided through the configuredMessageDispatcherand then store the agent state to persistent storage (if available).
-
registerShutdownHook
public void registerShutdownHook()
Registers a shutdown hookThreadat theRuntimeinstance.
-
initSnmp4jLogMIB
public void initSnmp4jLogMIB()
-
initSnmp4jConfigMIB
public void initSnmp4jConfigMIB(MOPersistenceProvider[] persistenceProvider)
-
initSnmp4jProxyMIB
public void initSnmp4jProxyMIB(org.snmp4j.smi.OctetString context)
-
getVacmMIB
public VacmMIB getVacmMIB()
-
getUsm
public org.snmp4j.security.USM getUsm()
-
getUsmMIB
public UsmMIB getUsmMIB()
-
initNotificationLogMIB
protected void initNotificationLogMIB(VACM vacm, SnmpNotificationMIB notifyMIB)
-
initSecurityModels
protected void initSecurityModels(EngineBootsProvider engineBootsProvider)
-
initMessageDispatcherWithMPs
protected void initMessageDispatcherWithMPs(org.snmp4j.MessageDispatcher mp)
-
registerTransportMappings
protected void registerTransportMappings()
-
launchTransportMappings
protected void launchTransportMappings() throws IOException- Throws:
IOException
-
launchTransportMappings
protected static void launchTransportMappings(Collection<? extends org.snmp4j.TransportMapping<?>> transportMappings) throws IOException
Puts a list of transport mappings into listen mode.- Parameters:
transportMappings- a list ofTransportMappinginstances.- Throws:
IOException- if a transport cannot listen to incoming messages.
-
stopTransportMappings
protected static void stopTransportMappings(Collection<? extends org.snmp4j.TransportMapping<?>> transportMappings) throws IOException
Closes a list of transport mappings.- Parameters:
transportMappings- a list ofTransportMappinginstances.- Throws:
IOException- if a transport cannot be closed.
-
saveState
public boolean saveState()
Save the state of the agent persistently - if necessary persistent storage is available.- Returns:
trueif state has been saved successfully,falseis returned if an error occurred or nopersistenceProvideris set. The error details can be found in therunStateobject.
-
restoreState
public boolean restoreState()
Restore a previously persistently saved state - if available.- Returns:
trueif the agent state could be restored successfully,falseotherwise.
-
configure
public void configure()
Configures components and managed objects.
-
initMandatoryMIBs
protected void initMandatoryMIBs()
-
linkCounterListener
protected void linkCounterListener()
-
getSupportedSecurityProtocols
protected org.snmp4j.security.SecurityProtocols getSupportedSecurityProtocols()
Gets the set of security protocols supported by this agent configuration.- Returns:
SecurityProtocols.getInstance()by default after initialization bySecurityProtocols.addDefaultProtocols().
-
createUSM
protected org.snmp4j.security.USM createUSM()
Creates the USM used by this agent configuration.- Returns:
- an USM initialized by the engine boots from the
engineBootsProviderandengineID.
-
createTSM
protected org.snmp4j.security.TSM createTSM()
Creates the TSM used by this agent configuration.- Returns:
- an USM initialized by the engine boots from the
engineBootsProviderandengineID.
-
getSysServices
public org.snmp4j.smi.Integer32 getSysServices()
Gets the system services ID which can be modified by altering its value.- Returns:
- 72 by default.
-
getSysOID
public org.snmp4j.smi.OID getSysOID()
Gets the system OID which can be modified by altering its value.- Returns:
- an OID - by default the SNMP4J root OID is returned.
-
getSysDescr
public org.snmp4j.smi.OctetString getSysDescr()
Returns the sysDescr.0 value for this agent which can be modified by altering its value.- Returns:
- an OctetString describing the node of the form SNMP4J-Agent version [SNMP4J-version] - <os.name> - <os.arch> - <os.version>.
-
getSysUpTime
public SysUpTime getSysUpTime()
Gets the sysUpTime.0 instance for the default context.- Returns:
- a
SysUpTimeinstance.
-
getNotificationOriginator
public NotificationOriginator getNotificationOriginator()
Returns the notification originator of this agent configuration. To get the (multi-threaded)NotificationOriginatorof the agent, usegetAgentNotificationOriginator()instead.- Returns:
- a
NotificationOriginatorinstance.
-
getAgentNotificationOriginator
public NotificationOriginator getAgentNotificationOriginator()
Returns the notification originator of the agent. Use this method to get aNotificationOriginatorfor sending your notifications.- Returns:
- the
NotificationOriginatorinstance. - Since:
- 1.4
-
setNotificationOriginator
public void setNotificationOriginator(NotificationOriginator notificationOriginator)
Sets the notification originator of this agent configuration.- Parameters:
notificationOriginator- aNotificationOriginatorinstance.
-
initialize
public void initialize()
-
setTableSizeLimits
public void setTableSizeLimits(Properties sizeLimits)
Sets the table size limits for the tables in this agent. If this method is called while the agent's registration is being changed, aConcurrentModificationExceptionmight be thrown.- Parameters:
sizeLimits- a set of properties as defined byMOTableSizeLimit.- Since:
- 1.4
-
setTableSizeLimit
public void setTableSizeLimit(int sizeLimit)
Sets the table size limit for the tables in this agent. If this method is called while the agent's registration is being changed, aConcurrentModificationExceptionmight be thrown.- Parameters:
sizeLimit- the maximum size (numer of rows) of tables allowed for this agent.- Since:
- 1.4
-
initOptionalMIBs
protected void initOptionalMIBs()
-
initSnmpUsmDhObjectsMib
protected void initSnmpUsmDhObjectsMib()
-
getDhKickstartParameters
protected Collection<DHKickstartParameters> getDhKickstartParameters()
Overwrite this method to provide Diffie Hellman kick start parameters.- Returns:
- an empty list of
DHKickstartParametersby default. - Since:
- 3.0
-
getDefaultContext
public org.snmp4j.smi.OctetString getDefaultContext()
Returns the default context - which is the context that is used by the base agent to register its MIB objects. By default it isnullwhich causes the objects to be registered virtually for all contexts. In that case, subagents for example my not register their own objects under the same subtree(s) in any context. To allow subagents to register their own instances of those MIB modules, an emptyOctetStringshould be used as default context instead.- Returns:
nullor anOctetString(normally the empty string) denoting the context used for registering default MIBs.
-
getContext
protected org.snmp4j.smi.OctetString getContext(MOGroup mibGroup, org.snmp4j.smi.OctetString defaultContext)
This method can be overwritten by a subagent to specify the contexts each MIB module (group) will be registered to.- Parameters:
mibGroup- a group ofManagedObjects (i.e., a MIB module).defaultContext- the context to be used by default (i.e., thenullcontext)- Returns:
- the context for which the module should be registered.
-
registerMIBs
protected void registerMIBs(org.snmp4j.smi.OctetString context) throws DuplicateRegistrationExceptionRegister the initialized MIB modules in the specified context of the agent.- Parameters:
context- the context to register the internal MIB modules. This should benullby default.- Throws:
DuplicateRegistrationException- if some of the MIB modules registration regions conflict with already registered regions.
-
unregisterMIBs
protected void unregisterMIBs(org.snmp4j.smi.OctetString context)
Unregister the initialized MIB modules from the default context of the agent.- Parameters:
context- the context where the MIB modules have been previously registered.
-
setupProxyForwarder
public void setupProxyForwarder()
-
setupSnmpUsmDhObjectsMib
public void setupSnmpUsmDhObjectsMib(Collection<DHKickstartParameters> dhKickstartParameters)
-
createNotificationOriginator
protected NotificationOriginator createNotificationOriginator()
-
createProxyForwarder
protected ProxyForwarder createProxyForwarder(CommandProcessor agent)
Creates and registers the default proxy forwarder application (ProxyForwarderImpl).- Parameters:
agent- the command processor that uses the proxy forwarder.- Returns:
- a ProxyForwarder instance.
-
createCommandProcessor
protected CommandProcessor createCommandProcessor(org.snmp4j.smi.OctetString engineID)
Creates the command processor.- Parameters:
engineID- the engine ID of the agent.- Returns:
- a new CommandProcessor instance.
-
createSnmpSession
protected org.snmp4j.Session createSnmpSession(org.snmp4j.MessageDispatcher dispatcher)
Creates the SNMP session to be used for this agent.- Parameters:
dispatcher- the message dispatcher to be associated with the session.- Returns:
- a SNMP session (a
Snmpinstance by default).
-
setPersistenceImportMode
public void setPersistenceImportMode(int importMode)
Sets the import mode for theMOPersistenceProvider.- Parameters:
importMode- one of the import modes defined byImportMode.- Since:
- 1.4
-
getPersistenceImportMode
public int getPersistenceImportMode()
Returns the currently active import mode for theMOPersistenceProvider.- Returns:
- one of the import modes defined by
ImportMode. - Since:
- 1.4
-
getVariable
public org.snmp4j.smi.Variable getVariable(String name)
Description copied from interface:VariableProviderGets the variable with the specified name, which might be either a textual name or an instance OID.- Specified by:
getVariablein interfaceVariableProvider- Parameters:
name- the name or OID of the variable to return.- Returns:
- a Variable instance or
nullif such a variable with the specified name or OID does not exists.
-
-