/** * syncProbe() Called during incremental discovery Rediscover and parse the load balancing virtual * server object that is represented by the given VirtualApplication object * * @param objects List of existing VirtualApplication objects to be rediscovered */ private void syncProbe(EList<Object> objects) { if (!FeaturesManager.vmtMANAGER.isLoadBalancerEnabled()) { logger.error("Operations Manager is not licensed for Load Balancer targets"); return; } if (!objects.isEmpty() && initProbe() != null) { if (logPrefix == "") logPrefix = target.getNameOrAddress() + " : "; for (Object object : objects) { if (!(object instanceof VirtualApplication)) continue; // Get all the lbv servers from NetScaler appliance VirtualApplication vApp = (VirtualApplication) object; DiscoveryExtension discExt = vApp.getDiscoveryExtension(); if (logger.isDebugEnabled()) logger.debug(logPrefix + " rediscovering virtual application " + vApp.toVMTString()); if (discExt instanceof NetScalerVirtualAppDiscExt) { // lbvserver lbvserver server = NetScalerUtil.getLbvServer(session, vApp.getName(), target, logPrefix); if (server != null) parseServer(server); else exceptions = true; } else if (discExt instanceof NetScalerGslbVirtualAppDiscExt) { // gslb vserver gslbvserver gslb = NetScalerUtil.getGslbvServer(session, vApp.getName(), target, logPrefix); if (gslb != null) parseGslbServer(gslb); else exceptions = true; } } // If no exceptions clear previous occurrences of DISCOVERY notifications if (!exceptions) target.clearNotifications(NotificationCategory.DISCOVERY); } }