Package org.forgerock.openam.radius.server

Holds directly or via sub-packages mechanism for enabling openAM to be a radius server. The RADIUS server is created as a part of OpenAM using the Java service loader mechanism. in /src/main/resources/META-INF/services there exists a file com.sun.identity.setup.SetupListener that specifies implementations of SetupListener that will be loaded by AMSetupServlet. The RADIUS server uses that mechanism to have AMSetupServlet load the RadiusServiceManager and call addListener on it. When that happens the RadiusServerManager will use the RadiusServerGuiceModule to create a Guice injector and get from it a singleton instance of RadiusServiceStarter, which loads config, creates the RadiusRequestListener and monitors for further config changes. Shutdown of the RADIUS server can happen for a number of reasons; a) The container is stopping the OpenAM servlet. b) A catastrophic error occurred while processing a radius request. In case a, when the OpenAM servlet is shutting down, the RadiusServerManager will be notified as when it is created it registers for shutdown notification with the ShutdownListener. This event starts an orderly shutdown of the RADIUS server.