When I started working on MicroProfile my assumption was (and I know I am not alone)
1 runtime = 1 microservice = 1 app
Now that MicroProfile gains more traction for runtime implementors, there is a clear wish to also support the more classical runtime models that allow for multiple applications.
Having said this, there are a number of issues in the current specs. Metrics for example does not differentiate the application metrics per application (it assumes 1 app only)
Metrics wants to fix that with a way to identify if there are multiple apps deployed and then e.g. prepend the app-name to the metric names to disambiguate.
I am writing that entry, as other specs have similar issues (e.g. how do you provide a config entry 'myFoo' for app1 and app2 ?) and think we should come up with a common solution for all of MicroProfile.
The current thinking goes along the lines of taking the app-name from the context root. If only 1 app is present, context root is / and processing can happen as is.
For cases that the context root can not be determined or the user wants to override the naming, as App-wide annotation
@MpName(name) is provided, that overrides the (automatically) determined context-root.
If both are not supplied, the server should abort startup.
Opinions?