Service
Build a service based on service-commons
This is a simple service example:
suspend fun main(args: Array<String>) {
ServiceMain(
ServiceConfiguration("verifier"), ServiceInitialization(
features = FeatureCatalog,
init = {
// Init code example
WaltidServices.init()
DidService.apply {
registerResolver(LocalResolver())
updateResolversForMethods()
}
},
run = WebService(Application::verifierModule).run()
)
).main(args)
}
fun Application.configurePlugins() {
configureHTTP()
configureRouting()
}
fun Application.verifierModule(withPlugins: Boolean = true) {
if (withPlugins) {
configurePlugins()
}
verifierApi();
{ feature1Api() } whenFeature FeatureCatalog.feature1
{ feature2Api() } whenFeature FeatureCatalog.feature2
}
Service-commons based service startup procedure
When starting a service-commons based service, this is what happens when calling a defined ServiceMain:
- Initializing features
Registering CommonsFeatureCatalog
- Registering
featureslisted feature-catalogs - Loading feature amendments
- Registering
- Initializing service → the
initblock - Running service → the
runblock
