...
It should be possible to update service implementation or configuration without downtime. Introduction of a service version should solve this problem.
ServiceConfiguration
class should contain integer version
parameter, that will increase monotonically between deployments.
When a node is processing a service deployment request, it performs deployment only if it doesn't have a deployed service of the same or a newer version.
Service version update implies classes redeployment. So, user is responsible for configuring a proper DeploymentSpi to be able to replace service classes at runtime. Service processor should unregister and re-register a service class, when version update happens.
[In progress]
TBD
...