| | |
| | | |
| | | |
| | | /** |
| | | * Deregisters the specified monitor provider from the Directory Server. If |
| | | * no such monitor provider is registered, no action will be taken. |
| | | * Deregisters the specified monitor provider from the Directory Server. If no |
| | | * such monitor provider is registered, no action will be taken. |
| | | * |
| | | * @param lowerName The name of the monitor provider to deregister, in all |
| | | * lowercase characters. |
| | | * @param monitorProvider |
| | | * The monitor provider to deregister from the Directory Server. |
| | | */ |
| | | public static void deregisterMonitorProvider(String lowerName) |
| | | public static void deregisterMonitorProvider( |
| | | MonitorProvider<? extends MonitorProviderCfg> monitorProvider) |
| | | { |
| | | MonitorProvider provider = |
| | | directoryServer.monitorProviders.remove(toLowerCase(lowerName)); |
| | | |
| | | String monitorName = toLowerCase(monitorProvider.getMonitorInstanceName()); |
| | | MonitorProvider<?> provider = directoryServer.monitorProviders |
| | | .remove(monitorName); |
| | | |
| | | // Try to deregister the monitor provider as an MBean. |
| | | if (provider != null) |
| | |
| | | BackendMonitor monitor = backend.getBackendMonitor(); |
| | | if (monitor != null) |
| | | { |
| | | String instanceName = toLowerCase(monitor.getMonitorInstanceName()); |
| | | deregisterMonitorProvider(instanceName); |
| | | deregisterMonitorProvider(monitor); |
| | | monitor.finalizeMonitorProvider(); |
| | | backend.setBackendMonitor(null); |
| | | } |
| | |
| | | ConnectionHandlerMonitor monitor = handler.getConnectionHandlerMonitor(); |
| | | if (monitor != null) |
| | | { |
| | | String instanceName = toLowerCase(monitor.getMonitorInstanceName()); |
| | | deregisterMonitorProvider(instanceName); |
| | | deregisterMonitorProvider(monitor); |
| | | monitor.finalizeMonitorProvider(); |
| | | handler.setConnectionHandlerMonitor(null); |
| | | } |
| | |
| | | public static DN getMonitorProviderDN(MonitorProvider provider) |
| | | { |
| | | String monitorName = provider.getMonitorInstanceName(); |
| | | getAttributeType(ATTR_COMMON_NAME); |
| | | DN monitorRootDN; |
| | | try |
| | | { |
| | | // Get a complete DN which could be a tree naming schema |
| | | monitorRootDN = DN.decode("cn="+monitorName+","+DN_MONITOR_ROOT); |
| | | return DN.decode("cn="+monitorName+","+DN_MONITOR_ROOT); |
| | | } |
| | | catch (DirectoryException e) |
| | | { |
| | | // Cannot reach this point. |
| | | throw new RuntimeException(); |
| | | } |
| | | |
| | | return monitorRootDN; |
| | | } |
| | | |
| | | |