| | |
| | | import org.opends.server.api.AccessLogPublisher; |
| | | import org.opends.server.api.ErrorLogPublisher; |
| | | import org.opends.server.api.DebugLogPublisher; |
| | | import org.opends.server.api.AccessControlHandler; |
| | | import org.opends.server.api.plugin.PluginType; |
| | | import org.opends.server.api.plugin.StartupPluginResult; |
| | | import org.opends.server.backends.RootDSEBackend; |
| | |
| | | import org.opends.server.util.args.StringArgument; |
| | | import org.opends.server.workflowelement.*; |
| | | import org.opends.server.workflowelement.localbackend.*; |
| | | import org.opends.server.protocols.internal.InternalConnectionHandler; |
| | | import org.opends.server.protocols.internal.InternalClientConnection; |
| | | |
| | | import javax.management.MBeanServer; |
| | | import javax.management.MBeanServerFactory; |
| | |
| | | removeErrorLogPublisher(startupErrorLogPublisher); |
| | | } |
| | | |
| | | // Force the root connection to be initialized. |
| | | InternalClientConnection.getRootConnection(); |
| | | |
| | | // If a server.starting file exists, then remove it. |
| | | File serverStartingFile = |
| | |
| | | directoryServer.shuttingDown = true; |
| | | } |
| | | |
| | | ConfigEntry rootConfigEntry = null; |
| | | try { |
| | | rootConfigEntry = directoryServer.configHandler.getConfigRootEntry(); |
| | | } catch (Exception e) { |
| | | |
| | | } |
| | | |
| | | // Send an alert notification that the server is shutting down. |
| | | Message message = NOTE_SERVER_SHUTDOWN.get(className, reason); |
| | |
| | | DirectoryServer.deregisterPasswordPolicy(configEntryDN); |
| | | } |
| | | |
| | | // Finalize the access control handler |
| | | AccessControlHandler accessControlHandler = |
| | | AccessControlConfigManager.getInstance().getAccessControlHandler(); |
| | | if (accessControlHandler != null) |
| | | { |
| | | accessControlHandler.finalizeAccessControlHandler(); |
| | | } |
| | | |
| | | // Perform any necessary cleanup work for the group manager. |
| | | if (directoryServer.groupManager != null) |
| | |
| | | logError(message); |
| | | } |
| | | |
| | | // Deregister all workflows. |
| | | WorkflowImpl.deregisterAllOnShutdown(); |
| | | |
| | | // Deregister all network group configuration. |
| | | NetworkGroup.deregisterAll(); |
| | | NetworkGroup.deregisterAllOnShutdown(); |
| | | |
| | | // Force a new InternalClientConnection to be created on restart. |
| | | InternalConnectionHandler.clearRootClientConnectionAtShutdown(); |
| | | |
| | | // Log a final message indicating that the server is stopped (which should |
| | | // be true for all practical purposes), and then shut down all the error |