[
https://issues.apache.org/jira/browse/GEODE-10007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ernest Burghardt updated GEODE-10007:
-------------------------------------
Parent: (was: GEODE-10003)
Issue Type: Improvement (was: Sub-task)
> Make o.a.geode.cache.internal.HttpService SPI part of the non-internal,
> public API
> ----------------------------------------------------------------------------------
>
> Key: GEODE-10007
> URL: https://issues.apache.org/jira/browse/GEODE-10007
> Project: Geode
> Issue Type: Improvement
> Reporter: John Blum
> Priority: Minor
>
> The {{HttpService}} interface is defined and used as a _Service Provider
> Interface_ (SPI) inside Apache Geode and even loaded as such with _Java's_
> {{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. A proper SPI affords any application, framework, tool or product a
> degree of extensibility and flexibility, applied by users without
> intervention by being able to "provide" a custom implementation or extension
> as needed by the application, framework, tool or product.
> 1 such example would be to be able to supply a Jakarta EE 9 (specification)
> compliant implementation of an embedded HTTP server (e.g. Jetty, Tomcat or
> even Undertow) used by Geode to bootstrap the embedded HTTP service hosting
> the Geode provided Web apps (e.g. Pulse, Management/Admin REST API, Developer
> REST API) when external hosting is not an option. Of course, these Apache
> Geode provided, internal Web apps need to be updated as well (to use the new
> Jakarta EE 9 specs).
> There are other examples of SPIs used in 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) itself, is highly useful
> and valuable in certain configuration arrangements.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)