/** * {@inheritDoc} * * Release/stop querying a particular agent * */ public void release(CollectionAgent agent) { log().info("release agent called for "+agent); // remove agent from set; ignore return value setOfNodes.remove(agent); return; }
/** * Release/stop all querying of agents/interfaces and release * state associated with them * */ public void release() { log().info("release()"); // orphan existing set thus making them available // for garbage collection setOfNodes = new HashSet<CollectionAgent>(); return; }
protected void reportTooBigErr(String msg) { ThreadCategory.getInstance(SnmpWalker.class).info("Received tooBig response from "+address+". "+msg); } }
/** * <p>infof</p> * * @param t a {@link java.lang.Throwable} object. * @param format a {@link java.lang.String} object. * @param args a {@link java.lang.Object} object. */ protected void infof(final Throwable t, final String format, final Object... args) { if (log().isInfoEnabled()) { log().info(String.format(format, args), t); } }
private void setupFileResourceProperty(String propertyName, String file, String notFoundWarning) { if (System.getProperty(propertyName) == null) { log().debug("System property '" + propertyName + "' not set. Searching for file '" + file + "' in the class path."); URL url = getClass().getClassLoader().getResource(file); if (url != null) { log().info("Found file '" + file + "' at '" + url.getPath() + "'. Setting '" + propertyName + "' to this path."); System.setProperty(propertyName, url.getPath()); } else { log().warn("Did not find file '" + file + "' in the class path. " + notFoundWarning + " Set the property '" + propertyName + "' to the location of the file."); } } else { log().debug("System property '" + propertyName + "' already set to '" + System.getProperty(propertyName) + "'."); } }
/** * <p>infof</p> * * @param format a {@link java.lang.String} object. * @param args a {@link java.lang.Object} object. */ protected void infof(final String format, final Object... args) { if (log().isInfoEnabled()) { log().info(String.format(format, args)); } }
/** * Uncleanly shutdown OpenNMS. This method calls * {@see java.lang.System.exit(int)}, which causes the JVM to * exit immediately. This method is usually invoked via JMX from * another process as the last stage of shutting down OpenNMS. */ public void doSystemExit() { setLogPrefix(); log().debug("doSystemExit called"); if (log().isDebugEnabled()) { dumpThreads(); Runtime r = Runtime.getRuntime(); log().debug("memory usage (free/used/total/max allowed): " + r.freeMemory() + "/" + (r.totalMemory() - r.freeMemory()) + "/" + r.totalMemory() + "/" + (r.maxMemory() == Long.MAX_VALUE ? "infinite" : r.maxMemory())); } log().info("calling System.exit(1)"); shutdownLogging(); System.exit(1); }
/** * <p>persistOperation</p> * * @param oper a {@link org.opennms.netmgt.importer.operations.ImportOperation} object. * @param template a {@link org.springframework.transaction.support.TransactionTemplate} object. * @param dao a {@link org.opennms.netmgt.dao.OnmsDao} object. */ protected void persistOperation(final ImportOperation oper, TransactionTemplate template, final OnmsDao<?, ?> dao) { m_stats.beginPersisting(oper); log().info("Persist: "+oper); List<Event> events = persistToDatabase(oper, template); m_stats.finishPersisting(oper); if (m_eventMgr != null && events != null) { m_stats.beginSendingEvents(oper, events); log().info("Send Events: "+oper); // now send the events for the update for (Iterator<Event> eventIt = events.iterator(); eventIt.hasNext();) { Event event = eventIt.next(); m_eventMgr.sendNow(event); } m_stats.finishSendingEvents(oper, events); } log().info("Clear cache: "+oper); // clear the cache to we don't use up all the memory dao.clear(); }
/** * <p>preprocessOperation</p> * * @param oper a {@link org.opennms.netmgt.importer.operations.ImportOperation} object. * @param template a {@link org.springframework.transaction.support.TransactionTemplate} object. * @param dao a {@link org.opennms.netmgt.dao.OnmsDao} object. * @param dbPool a {@link java.util.concurrent.ExecutorService} object. */ protected void preprocessOperation(final ImportOperation oper, final TransactionTemplate template, final OnmsDao<?, ?> dao, final ExecutorService dbPool) { m_stats.beginPreprocessing(oper); log().info("Preprocess: "+oper); oper.gatherAdditionalData(); Runnable r = new Runnable() { public void run() { persistOperation(oper, template, dao); } }; dbPool.execute(r); m_stats.finishPreprocessing(oper); }
/** * <p>start</p> */ @Override final public synchronized void start() { final String prefix = ThreadCategory.getPrefix(); try { ThreadCategory.setPrefix(getName()); log().info(getName()+" starting."); setStatus(STARTING); onStart(); setStatus(RUNNING); log().info(getName()+" started."); } finally { ThreadCategory.setPrefix(prefix); } }
/** * Stops the currently running service. If the service is not running then * the command is silently discarded. */ @Override final public synchronized void stop() { final String prefix = ThreadCategory.getPrefix(); try { ThreadCategory.setPrefix(getName()); log().info(getName()+" stopping."); setStatus(STOP_PENDING); onStop(); setStatus(STOPPED); log().info(getName()+" stopped."); } finally { ThreadCategory.setPrefix(prefix); } }
public void start() { if (log().isDebugEnabled()) { log().info("Walking "+getName()+" for "+getAddress()+" using version "+m_agentConfig.getVersionString()+" with config: "+m_agentConfig); } super.start(); }
/** * <p>pause</p> */ @Override final public void pause() { final String prefix = ThreadCategory.getPrefix(); try { ThreadCategory.setPrefix(getName()); if (!isRunning()) return; log().info(getName()+" pausing."); setStatus(PAUSE_PENDING); onPause(); setStatus(PAUSED); log().info(getName()+" paused."); } finally { ThreadCategory.setPrefix(prefix); } }
/** * <p>resume</p> */ @Override final public void resume() { final String prefix = ThreadCategory.getPrefix(); try { ThreadCategory.setPrefix(getName()); if (!isPaused()) return; log().info(getName()+" resuming."); setStatus(RESUME_PENDING); onResume(); setStatus(RUNNING); log().info(getName()+" resumed."); } finally { ThreadCategory.setPrefix(prefix); } }
protected void doInTransactionWithoutResult(TransactionStatus status) { OnmsNode dbNode = findNodeByForeignId(m_foreignSource, node.getForeignId()); if (dbNode == null) { log().error("Error setting parent on node: "+node.getForeignId()+" node not in database"); return; } OnmsNode parent = findParent(node); OnmsIpInterface critIface = null; if (parent != null) { critIface = getCriticalInterface(parent); } log().info("Setting parent of node: "+dbNode+" to: "+parent); dbNode.setParent(parent); log().info("Setting criticalInterface of node: "+dbNode+" to: "+critIface); if (critIface == null) { dbNode.setPathElement(null); } else { final String ipAddress = InetAddressUtils.str(critIface.getIpAddress()); dbNode.setPathElement(new PathElement(ipAddress, "ICMP")); } getNodeDao().update(dbNode); }
/** * 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 retreived by the resource and can be overridden * as a parameter of an event. * @param event */ private void doImport(Event event) { Resource resource = null; try { m_stats = new ImporterStats(); resource = ((event != null && getEventUrl(event) != null) ? new UrlResource(getEventUrl(event)) : m_importResource); sendImportStarted(resource); importModelFromResource(resource, m_stats, event); log().info("Finished Importing: "+m_stats); sendImportSuccessful(m_stats, resource); } catch (IOException e) { String msg = "IOException importing "+resource; log().error(msg, e); sendImportFailed(msg+": "+e.getMessage(), resource); } catch (ModelImportException e) { String msg = "Error parsing import data from "+resource; log().error(msg, e); sendImportFailed(msg+": "+e.getMessage(), resource); } }
log().info("V2 "+m_pduTypeString+" from " + getTrapAddress() + " has been corrected due to the sysUptime.0 varbind not having been sent with a trailing 0.\n\tVarbinds received are : " + varBindName0 + " and " + varBindName1); varBindName0 = SNMP_SYSUPTIME_OID;
/** * TODO: Merge this logic with {@link Snmp4JWalker.Snmp4JResponseListener#processResponse(PDU response)} */ private SnmpValue[] processResponse(Snmp4JAgentConfig agentConfig, ResponseEvent responseEvent) throws IOException { SnmpValue[] retvalues = { null }; if (responseEvent.getResponse() == null) { log().warn("send: Timeout. Agent: "+agentConfig); } else if (responseEvent.getError() != null) { log().warn("send: Error during get operation. Error: "+responseEvent.getError().getLocalizedMessage(), responseEvent.getError()); } else if (responseEvent.getResponse().getType() == PDU.REPORT) { log().warn("send: Error during get operation. Report returned with varbinds: "+responseEvent.getResponse().getVariableBindings()); } else if (responseEvent.getResponse().getVariableBindings().size() < 1) { log().warn("send: Received PDU with 0 varbinds."); } else if (responseEvent.getResponse().get(0).getSyntax() == SMIConstants.SYNTAX_NULL) { log().info("send: Null value returned in varbind: " + responseEvent.getResponse().get(0)); } else { retvalues = convertResponseToValues(responseEvent); if (log().isDebugEnabled()) { log().debug("send: Snmp operation successful. Value: "+Arrays.toString(retvalues)); } } return retvalues; }