Class ConsulRegistryService
- java.lang.Object
-
- org.kiwiproject.registry.consul.server.ConsulRegistryService
-
- All Implemented Interfaces:
RegistryService
public class ConsulRegistryService extends Object implements RegistryService
RegistryService
implementation for Consul discovery serversNOTE: This class is intended to manage the registration and unregistration of a service with Consul. If your service is using a framework that has Consul integration, you might not want to use this class as it may attempt to register more than once (once from here and once from the framework integration)
-
-
Constructor Summary
Constructors Constructor Description ConsulRegistryService(com.orbitz.consul.Consul consul, ConsulRegistrationConfig config, org.kiwiproject.base.KiwiEnvironment environment)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ServiceInstance
createCandidateFrom(ServiceInfo serviceInfo)
Creates a newServiceInstance
instance from aServiceInfo
that can be registered with the registry server.ServiceInstance
register(ServiceInstance serviceToRegister)
Registers aServiceInstance
with the registry server and returns a new instance containing information about the registered instance.void
unregister()
Unregisters any registrations that were previously registered.ServiceInstance
updateStatus(ServiceInstance.Status newStatus)
Sends an update to the registry server to inform of a service status change
-
-
-
Constructor Detail
-
ConsulRegistryService
public ConsulRegistryService(com.orbitz.consul.Consul consul, ConsulRegistrationConfig config, org.kiwiproject.base.KiwiEnvironment environment)
-
-
Method Detail
-
createCandidateFrom
public ServiceInstance createCandidateFrom(ServiceInfo serviceInfo)
Description copied from interface:RegistryService
Creates a newServiceInstance
instance from aServiceInfo
that can be registered with the registry server.- Specified by:
createCandidateFrom
in interfaceRegistryService
- Parameters:
serviceInfo
- Service information that will be used to setup a new instance to be registered.- Returns:
- The
ServiceInstance
object that was created
-
register
public ServiceInstance register(ServiceInstance serviceToRegister)
Description copied from interface:RegistryService
Registers aServiceInstance
with the registry server and returns a new instance containing information about the registered instance.- Specified by:
register
in interfaceRegistryService
- Parameters:
serviceToRegister
- The service information to register- Returns:
- The service instance that was registered
-
updateStatus
public ServiceInstance updateStatus(ServiceInstance.Status newStatus)
Description copied from interface:RegistryService
Sends an update to the registry server to inform of a service status change- Specified by:
updateStatus
in interfaceRegistryService
- Parameters:
newStatus
- The new status that will be sent- Returns:
- a copy of the original
ServiceInstance
with the new status set
-
unregister
public void unregister()
Description copied from interface:RegistryService
Unregisters any registrations that were previously registered. This should be a NO-OP if nothing has ever been registered.- Specified by:
unregister
in interfaceRegistryService
-
-