On Fri, Jan 18, 2019 at 11:08 AM Georg Henzler <fe...@ghenzler.de> wrote:
> Hi Ray, > > this sound like a good idea! A generic, configurable HC would look > something like [1] in pseudo code. Using OSGi headers in bundles to > ensure correct wiring is straight forward, but I'm not sure if there is > an API to get all currently available capabilities in framework? > It's more like can I transitively resolve a running system from: a) only a code dependency (i.e. I implement some health check API): results in at resolve I get -> health check implementation -> jaxrs/http servlet whitebard implemetation b) I specify @RequireHealthCheck in my main app app where I don't actually implement any APIs: results in at resolve I get -> health check implementation -> jaxrs/http servlet whitebard implemetation :) I can probably try it out and submit the proper cap&req. - Ray > -Georg > > [1] > ... > private List<String> requiredCapabilitiesAsConfigured; > ... > public Result execute() { > List<String> allCapabilitiesRegisteredInFramework = ??? > List<String> missing = new > ArrayList<>(requiredCapabilitiesAsConfigured) > missing.removeAll(allCapabilitiesRegisteredInFramework) > if(missing.isEmpty()) { > return new Result(Result.Status.OK, "All capabilities > available: "+StringUtils.join(requiredCapabilitiesAsConfigured)) > } else { > return new Result(Result.Status.WARN, "Missing capabilities: > "+StringUtils.join(missing) + "(configured as required: > "+StringUtils.join(requiredCapabilitiesAsConfigured)+")") > } > } > > > On 2019-01-18 16:17, Raymond Auge wrote: > > Great! > > > > I haven't looked so it might already be done, but I would ask that > > requirements and capabilities be used so that we can resolve a running > > system with minimal configuration. > > > > I can help if someone explains the pieces to me. > > > > - Ray > > > > On Fri, Jan 18, 2019 at 10:04 AM Georg Henzler <fe...@ghenzler.de> > > wrote: > > > >> Hi all, > >> > >> I have spend quite a bit time to polish the new Felix Health Checks > >> before the first release: > >> > >> * The API has been cleaned up while maintaining backwards > >> compatibility > >> for 99% of the checks out in the wild (migration guide will be > >> provided > >> in Sling) > >> * Dependencies have been minimised, api and core core run as soon as > >> slf4j api and servlet api is available > >> * The new status TEMPORARILY_UNAVAILABLE allows to distinguish > >> startup/deployment unavailabilities clearly from other CRITICAL > >> problems > >> * General checks have been introduced and polished (that part has > >> improved quite a bit compared to what it was in Sling): Sys Admins can > >> quickly add checks (web console by configuration only) for JMX > >> attributes, requests or add scripts to check arbitrary conditions. > >> * Servlet Filters have been introduced to a) flexibly track certain > >> requests by registering dynamic tags and b) cut off certain (or all) > >> requests with 503 if certain tags have a certain status values. > >> > >> See [1] for all tickets solved. > >> > >> From my point of view everything is ready for the first release but > >> feedback is welcome! I plan to create the releases for the modules > >> annotation, api, core, generalchecks and webconsoleplugin next week. > >> > >> Best Regards > >> Georg > >> > >> [1] > >> > >> > https://issues.apache.org/jira/issues/?jql=project%20%3D%20FELIX%20AND%20resolution%20%3D%20Fixed%20AND%20component%20%3D%20%22Health%20Checks%22 > >> > -- *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile> (@rotty3000) Senior Software Architect *Liferay, Inc.* <http://www.liferay.com> (@Liferay) Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org> (@OSGiAlliance)