This interface defines a stateless lightweight singleton service that has
the following contract:
Activate is invoked on one and only one server in a cluster
Deactivate can be called anytime after activate is called. The sequence
of operations is : activate -> deactivate -> activate on another server in
the cluster.
Any exceptions thrown during deactivate will be ignored and the service
will be activated elsewhere
Activate the service in this server. Perform setup operations needed for
this service to function on this server. If activate throws any
RuntimeException, the service will be activated in another server if
possible.
deactivate
void deactivate()
Deactivate the service on this server. Relinquish ownership over resources
so that it can be claimed by another server where activate will be called.
Any RuntimeExceptions thrown by deactivate will be ignored and activate
will be attempted elsewhere.