Skip to content
This repository has been archived by the owner on Oct 14, 2020. It is now read-only.

Boost Runtime Adapter SPI

Scott Kurz edited this page Sep 19, 2019 · 1 revision

Boost provides an extensible mechanism that allows developers to create their own Boost runtimes. The Boost plugin provides core behaviors related to resolving booster dependencies and performing general server actions such as packaging, starting, and stopping. To do so, the chosen Boost runtime is detected from the classpath via ServiceLoader, and the necessary runtime-specific behavior is invoked.

To create and add a Boost runtime, two interfaces must be implemented. The Boost runtime interface (org.microshed.boost.common.runtimes.RuntimeI) defines the core lifecycle functions for the runtime (start, stop, package, etc.) The server configuration generator (org.microshed.boost.common.config.ServerConfigGenerator) defines a set of common configuration tasks such as adding a datasource or HTTP ports. Furthermore, the Boost runtime can define runtime-specific behaviors for to a particular booster simply by extending a booster config class. For example, the MP Config booster could extended to add runtime specific MP config implementation dependencies.

The implementation details of these mechanisms are currently in development and refinement.

Currently, Boost supports Open Liberty and TomEE.

Clone this wiki locally