Felix Meschberger wrote: > > So, here is my proposal: > > * The configuration is provided by the Configuration Admin > service as a factory configuration with the following > properties: > > bundle.symbolic.name > bundle.version (optional, defaults to any version) > count (optional, defaults to 1) > clazz (required) > filter (optional, defaults to "no filter") > > * The SlingMainServlet registers a ManagedServiceFactory > listening for these configurations and maintains an > internal "state machine". This registration can be done > in the SlingMainServlet.activate method (and deregistration > in the SlingMainServlet.deactivate method). > > * The implementation is part of the Sling Engine bundle > and is private to the Engine bundle. > > * The SlingMainServlet uses a simple method: > boolean isSystemReady() > conveying the state. The method should a non-readyness > reason. The SlingMainServlet will just send back 503 > (or 404 ?) if not ready. > > * The internal implementation may be registered as a > Web Console plugin (or Configuration Printer) to provide > administrators with: > > * details about the system status > * configuration form to easily manage the > configuration (maybe leveraging the Configuration > Admin support of the Web Console similar to how > the Commons Log bundle does it on the "Sling Log > Support" page. > > * Using JCR Install, FileInstall, the Web Console, or other > means of providing configuraiton, administrators may "fill" > the requirements list > > Finally the SystemStatus interface is deprecated and the systemstatus > bundle is removed (or moved to some attic location).
Sounds good to me, with one additional comment :) I think we don't need the bundle.symbolic.name/version combo in the suggested configuration. As this is already maintained through some external system like jcr install or file install, this can be handled completly by the admin. At least both should be optional, but I think we should rather drop it for now and maybe add it if we really really need it. Carsten -- Carsten Ziegeler [email protected]
