Interface RainbowGumServiceProvider

All Known Subinterfaces:
PatternConfig, RainbowGumServiceProvider.Configurator, RainbowGumServiceProvider.PropertiesProvider, RainbowGumServiceProvider.RainbowGumEagerLoad, RainbowGumServiceProvider.RainbowGumProvider
All Known Implementing Classes:
AvajePropertiesProvider, DisruptorConfigurator, GelfEncoderConfigurator, JAnsiConfigurator, JULConfigurator, LoggerDecoratorService, PatternConfigurator, PatternKeywordProvider, RabbitMQInitializer

RainbowGum SPI. The Rainbow Gum SPI uses the ServiceLoader with the registration of this class and NOT the non-sealed subclasses! Read the ServiceLoader doc to understand how to register a service loader class. A common option is to use an annotation processor to generate the META-INF/services registration. There are several libraries that can do this: However if your application is fully modularized (has a module-info.java) you will need to use the module-info syntax:

provides io.jstach.rainbowgum.spi.RainbowGumServiceProvider with com.mycompany.SomeService;

Initialization Order:
  1. RainbowGumServiceProvider.PropertiesProvider
  2. RainbowGumServiceProvider.Configurator
  3. RainbowGumServiceProvider.RainbowGumProvider