John Blum created GEODE-10007: --------------------------------- Summary: o.a.geode.cache.internal.HttpService should be part of the API Key: GEODE-10007 URL: https://issues.apache.org/jira/browse/GEODE-10007 Project: Geode Issue Type: Improvement Reporter: John Blum
The {{HttpService}} interface is defined and used as a _Service Provider Interface_ (SPI) and even loaded as such by via the _Java_ {{ServerLoader}} ([Javadoc|https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/ServiceLoader.html]) class in order to locate and load provider implementations. An SPI is not much good if "providers" are not allowed to "provide" an implementation of the service interfaces used to extend or customize Apache Geode. This allows any application, framework, tool or product a degree of extensibility and flexibility, afforded to users without intervention. 1 such example would be to be able to supply a Jakarta EE 9 (spec) compliant implementation of an embedded HTTP server (e.g. Jetty, Tomcat or even Undertow) used by Geode to bootstrap the HTTP service hosting the Geode provided Web apps (e.g. Pulse, Management/Admin REST API, Developer REST API). Of course, these Web apps need to be updated as well (to use the new Jakarta EE 9 specs). There are other examples of the SPI used on Apache Geode, which are part of the non-internal, public API, for example the [ServerLaucherCacheProvider|https://geode.apache.org/releases/latest/javadoc/org/apache/geode/distributed/ServerLauncherCacheProvider.html] interface, with 1 such [implementation|https://docs.spring.io/spring-data/geode/docs/current/api/org/springframework/data/gemfire/support/SpringServerLauncherCacheProvider.html] provided by _Spring Data for Apache Geode_ (SDG) even. -- This message was sent by Atlassian Jira (v8.20.1#820001)