Class Provisioner
- java.lang.Object
-
- org.opennms.netmgt.provision.service.Provisioner
-
- All Implemented Interfaces:
SpringServiceDaemon,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean
public class Provisioner extends java.lang.Object implements SpringServiceDaemon
Massively Parallel Java ProvisioningServiceDaemonfor OpenNMS.- Author:
- Mathew Brozowski
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringNAMEConstantNAME="Provisiond"
-
Constructor Summary
Constructors Constructor Description Provisioner()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddToScheduleQueue(NodeScanSchedule schedule)addToScheduleQueuevoidafterPropertiesSet()afterPropertiesSetprotected voidcheckNodeListForRemovals(java.util.List<NodeScanSchedule> schedules)checkNodeListForRemovalsForceRescanScancreateForceRescanScan(java.lang.Integer nodeId)createForceRescanScanNewSuspectScancreateNewSuspectScan(java.net.InetAddress ipAddress, java.lang.String foreignSource, java.lang.String location)createNewSuspectScanNodeScancreateNodeScan(java.lang.Integer nodeId, java.lang.String foreignSource, java.lang.String foreignId, OnmsMonitoringLocation location)createNodeScanvoiddestroy()destroyvoiddoImport(java.lang.String url, java.lang.String rescanExisting)doImportvoiddoImport(IEvent event)Begins importing from resource specified in model-importer.properties file or in event parameter: url.protected java.lang.StringgetEventForeignSource(Event event)getEventForeignSourceEventForwardergetEventForwarder()getEventForwarderImportSchedulergetImportSchedule()getImportScheduleMonitoringSystemDaogetMonitoringSystemDao()java.util.concurrent.ExecutorServicegetNewSuspectExecutor()ProvisionServicegetProvisionService()getProvisionServicejava.util.concurrent.ScheduledFuture<?>getScheduledFutureForNode(int nodeId)getScheduledFutureForNodeintgetScheduleLength()getScheduleLengthjava.lang.StringgetStats()getStatsvoidhandleAddNode(IEvent event)handleAddNodevoidhandleDeleteInterface(IEvent event)handleDeleteInterfacevoidhandleDeleteNode(IEvent event)handleDeleteNodevoidhandleDeleteService(IEvent event)handleDeleteServicevoidhandleForceRescan(IEvent e)handleForceRescanvoidhandleNewSuspectEvent(IEvent event)voidhandleNodeAddedEvent(IEvent e)handleNodeAddedEventvoidhandleNodeDeletedEvent(IEvent e)handleNodeDeletedEventvoidhandleNodeUpdated(IEvent e)handleNodeUpdatedvoidhandleReloadConfigEvent(IEvent e)handleReloadConfigEventprotected voidimportModelFromResource(org.springframework.core.io.Resource resource, java.lang.String rescanExisting)importModelFromResourceprotected RequisitionImportimportModelFromResource(org.springframework.core.io.Resource resource, java.lang.String rescanExisting, ProvisionMonitor monitor)importModelFromResourceprotected voidremoveFromScheduleQueue(java.util.List<java.lang.Integer> nodeIds)removeFromScheduleQueueprotected voidremoveNodeFromScheduleQueue(java.lang.Integer nodeId)removeNodeFromScheduleQueueprotected voidscheduleRescanForExistingNodes()scheduleRescanForExistingNodesvoidsetAgentConfigFactory(SnmpAgentConfigFactory agentConfigFactory)setAgentConfigFactoryvoidsetEventForwarder(EventForwarder eventForwarder)setEventForwardervoidsetImportActivities(CoreImportActivities importActivities)setImportActivitiesvoidsetImportSchedule(ImportScheduler schedule)setImportSchedulevoidsetLifeCycleRepository(LifeCycleRepository lifeCycleRepository)setLifeCycleRepositoryvoidsetMonitoringSystemDao(MonitoringSystemDao monitoringSystemDao)voidsetProvisionService(ProvisionService provisionService)setProvisionServicevoidsetScheduledExecutor(java.util.concurrent.ScheduledExecutorService scheduledExecutor)setScheduledExecutorvoidsetTaskCoordinator(TaskCoordinator taskCoordinator)setTaskCoordinatorvoidsetTracerRegistry(TracerRegistry tracerRegistry)voidstart()startprotected voidupdateNodeScheduleInQueue(NodeScanSchedule schedule)updateNodeScheduleInQueuevoidwaitFor()
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
ConstantNAME="Provisiond"- See Also:
- Constant Field Values
-
-
Method Detail
-
setProvisionService
public void setProvisionService(ProvisionService provisionService)
setProvisionService
- Parameters:
provisionService- aProvisionServiceobject.
-
getProvisionService
public ProvisionService getProvisionService()
getProvisionService
- Returns:
- a
ProvisionServiceobject.
-
setScheduledExecutor
public void setScheduledExecutor(java.util.concurrent.ScheduledExecutorService scheduledExecutor)
setScheduledExecutor
- Parameters:
scheduledExecutor- aScheduledExecutorServiceobject.
-
setLifeCycleRepository
public void setLifeCycleRepository(LifeCycleRepository lifeCycleRepository)
setLifeCycleRepository
- Parameters:
lifeCycleRepository- aLifeCycleRepositoryobject.
-
setImportSchedule
public void setImportSchedule(ImportScheduler schedule)
setImportSchedule
- Parameters:
schedule- aImportSchedulerobject.
-
setImportActivities
public void setImportActivities(CoreImportActivities importActivities)
setImportActivities
- Parameters:
importActivities- the importActivities to set
-
setTaskCoordinator
public void setTaskCoordinator(TaskCoordinator taskCoordinator)
setTaskCoordinator
- Parameters:
taskCoordinator- the taskCoordinator to set
-
setAgentConfigFactory
public void setAgentConfigFactory(SnmpAgentConfigFactory agentConfigFactory)
setAgentConfigFactory
- Parameters:
agentConfigFactory- the agentConfigFactory to set
-
getImportSchedule
public ImportScheduler getImportSchedule()
getImportSchedule
- Returns:
- a
ImportSchedulerobject.
-
getMonitoringSystemDao
public MonitoringSystemDao getMonitoringSystemDao()
-
setMonitoringSystemDao
public void setMonitoringSystemDao(MonitoringSystemDao monitoringSystemDao)
-
setTracerRegistry
public void setTracerRegistry(TracerRegistry tracerRegistry)
-
start
public void start() throws java.lang.Exceptionstart
- Specified by:
startin interfaceSpringServiceDaemon- Throws:
java.lang.Exception- if any.
-
destroy
public void destroy() throws java.lang.Exceptiondestroy
- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean- Throws:
java.lang.Exception- if any.
-
afterPropertiesSet
public void afterPropertiesSet() throws java.lang.ExceptionafterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
java.lang.Exception- if any.
-
scheduleRescanForExistingNodes
protected void scheduleRescanForExistingNodes()
scheduleRescanForExistingNodes
-
createNodeScan
public NodeScan createNodeScan(java.lang.Integer nodeId, java.lang.String foreignSource, java.lang.String foreignId, OnmsMonitoringLocation location)
createNodeScan
- Parameters:
nodeId- aIntegerobject.foreignSource- aStringobject.foreignId- aStringobject.location- aOnmsMonitoringLocationobject.- Returns:
- a
NodeScanobject.
-
createNewSuspectScan
public NewSuspectScan createNewSuspectScan(java.net.InetAddress ipAddress, java.lang.String foreignSource, java.lang.String location)
createNewSuspectScan
- Parameters:
ipAddress- aInetAddressobject.- Returns:
- a
NewSuspectScanobject.
-
createForceRescanScan
public ForceRescanScan createForceRescanScan(java.lang.Integer nodeId)
createForceRescanScan
- Parameters:
nodeId- a nodeId- Returns:
- a
ForceRescanScanobject.
-
addToScheduleQueue
protected void addToScheduleQueue(NodeScanSchedule schedule)
addToScheduleQueue
- Parameters:
schedule- aNodeScanScheduleobject.
-
updateNodeScheduleInQueue
protected void updateNodeScheduleInQueue(NodeScanSchedule schedule)
updateNodeScheduleInQueue
- Parameters:
schedule- aNodeScanScheduleobject.
-
getScheduledFutureForNode
public java.util.concurrent.ScheduledFuture<?> getScheduledFutureForNode(int nodeId)
getScheduledFutureForNode
- Parameters:
nodeId- a int.- Returns:
- a
ScheduledFutureobject.
-
removeNodeFromScheduleQueue
protected void removeNodeFromScheduleQueue(java.lang.Integer nodeId)
removeNodeFromScheduleQueue
- Parameters:
nodeId- aIntegerobject.
-
removeFromScheduleQueue
protected void removeFromScheduleQueue(java.util.List<java.lang.Integer> nodeIds)
removeFromScheduleQueue
- Parameters:
nodeIds- aListobject.
-
checkNodeListForRemovals
protected void checkNodeListForRemovals(java.util.List<NodeScanSchedule> schedules)
checkNodeListForRemovals
- Parameters:
schedules- aListobject.
-
getScheduleLength
public int getScheduleLength()
getScheduleLength
- Returns:
- a int.
-
importModelFromResource
protected void importModelFromResource(org.springframework.core.io.Resource resource, java.lang.String rescanExisting) throws java.lang.ExceptionimportModelFromResource
- Parameters:
resource- aResourceobject.rescanExisting- aStringobject - Valid values are "true", "false" and "dbonly".- Throws:
java.lang.Exception- if any.
-
importModelFromResource
protected RequisitionImport importModelFromResource(org.springframework.core.io.Resource resource, java.lang.String rescanExisting, ProvisionMonitor monitor) throws java.lang.Exception
importModelFromResource
- Parameters:
resource- aResourceobject.rescanExisting- aStringobject - Valid values are "true", "false" and "dbonly".monitor- aProvisionMonitorobject.- Returns:
- the imported requesition
- Throws:
java.lang.Exception- if any.
-
setEventForwarder
public void setEventForwarder(EventForwarder eventForwarder)
setEventForwarder
- Parameters:
eventForwarder- aEventForwarderobject.
-
getEventForwarder
public EventForwarder getEventForwarder()
getEventForwarder
- Returns:
- a
EventForwarderobject.
-
doImport
public void doImport(IEvent event)
Begins importing from resource specified in model-importer.properties file or in event parameter: url. Import Resources are managed with a "key" called "foreignSource" specified in the XML retrieved by the resource and can be overridden as a parameter of an event.- Parameters:
event- aIEventobject.
-
doImport
public void doImport(java.lang.String url, java.lang.String rescanExisting)doImport
- Parameters:
url- aStringobject.
-
handleNodeAddedEvent
public void handleNodeAddedEvent(IEvent e)
handleNodeAddedEvent
- Parameters:
e- aIEventobject.
-
handleForceRescan
public void handleForceRescan(IEvent e)
handleForceRescan
- Parameters:
e- aIEventobject.
-
handleNewSuspectEvent
public void handleNewSuspectEvent(IEvent event)
-
handleNodeUpdated
public void handleNodeUpdated(IEvent e)
handleNodeUpdated
A re-import has occurred, attempt a rescan now.- Parameters:
e- aIEventobject.
-
handleNodeDeletedEvent
public void handleNodeDeletedEvent(IEvent e)
handleNodeDeletedEvent
- Parameters:
e- aIEventobject.
-
handleReloadConfigEvent
public void handleReloadConfigEvent(IEvent e)
handleReloadConfigEvent
- Parameters:
e- aIEventobject.
-
handleAddNode
public void handleAddNode(IEvent event)
handleAddNode
- Parameters:
event- aIEventobject.
-
handleDeleteInterface
public void handleDeleteInterface(IEvent event)
handleDeleteInterface
- Parameters:
event- aIEventobject.
-
handleDeleteNode
public void handleDeleteNode(IEvent event)
handleDeleteNode
- Parameters:
event- aIEventobject.
-
handleDeleteService
public void handleDeleteService(IEvent event)
handleDeleteService
- Parameters:
event- aIEventobject.
-
getStats
public java.lang.String getStats()
getStats
- Returns:
- a
Stringobject.
-
getEventForeignSource
protected java.lang.String getEventForeignSource(Event event)
getEventForeignSource
- Parameters:
event- aEventobject.- Returns:
- a
Stringobject.
-
waitFor
public void waitFor()
-
getNewSuspectExecutor
public java.util.concurrent.ExecutorService getNewSuspectExecutor()
-
-