On Mon, Jan 21, 2019 at 2:19 AM Georg Henzler <fe...@ghenzler.de> wrote:

> Hi Ray,
>
> so your suggestion is more about referring to a capability like
> "org.apache.felix.healthcheck" by using requirements in other bundles
> than writing a health check that ensures the framework provides a
> certain non-healthcheck-related capability.
>

Precisely,

- Ray


>
> > I can probably try it out and submit the proper cap&req.
>
> that would be great!
>
> -Georg
>
>
> On 2019-01-18 17:28, Raymond Auge wrote:
> > 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
> >
> > :)
> >
> >
> > - 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)

Reply via email to