Class EurekaRegistrySidecarImpl

  • All Implemented Interfaces:
    org.refcodes.component.Configurable<EurekaRegistrySidecar>, org.refcodes.component.Destroyable, org.refcodes.component.Destroyable.DestroyAutomaton, org.refcodes.component.Initializable, org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.InitializedAccessor, org.refcodes.component.LifeCycleComponent, org.refcodes.component.LifeCycleComponent.LifeCycleAutomaton, org.refcodes.component.LifeCycleStatusAccessor, org.refcodes.component.Pausable, org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Resumable, org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.RunningAccessor, org.refcodes.component.Startable, org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Stoppable, org.refcodes.component.Stoppable.StopAutomaton, org.refcodes.mixin.AliasAccessor, org.refcodes.mixin.AliasAccessor.AliasBuilder<EurekaRegistrySidecar>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty, org.refcodes.mixin.InstanceIdAccessor, org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<EurekaRegistrySidecar>, org.refcodes.mixin.InstanceIdAccessor.InstanceIdMutator, org.refcodes.mixin.InstanceIdAccessor.InstanceIdProperty, org.refcodes.mixin.PortAccessor, org.refcodes.mixin.PortAccessor.PortBuilder<EurekaRegistrySidecar>, org.refcodes.mixin.PortAccessor.PortMutator, org.refcodes.mixin.PortAccessor.PortProperty, org.refcodes.net.HostAccessor, org.refcodes.net.HostAccessor.HostBuilder<EurekaRegistrySidecar>, org.refcodes.net.HostAccessor.HostMutator, org.refcodes.net.HostAccessor.HostProperty, org.refcodes.net.IpAddressAccessor, org.refcodes.net.IpAddressAccessor.IpAddressBuilder<EurekaRegistrySidecar>, org.refcodes.net.IpAddressAccessor.IpAddressMutator, org.refcodes.net.IpAddressAccessor.IpAddressProperty, org.refcodes.net.SchemeAccessor, org.refcodes.net.SchemeAccessor.SchemeBuilder<EurekaRegistrySidecar>, org.refcodes.net.SchemeAccessor.SchemeMutator, org.refcodes.net.SchemeAccessor.SchemeProperty, org.refcodes.net.VirtualHostAccessor, org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<EurekaRegistrySidecar>, org.refcodes.net.VirtualHostAccessor.VirtualHostMutator, org.refcodes.net.VirtualHostAccessor.VirtualHostProperty, EurekaDataCenterTypeAccessor, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeBuilder<EurekaRegistrySidecar>, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeMutator, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeProperty, EurekaRegistry<EurekaRegistrySidecar>, EurekaRegistrySidecar, EurekaServerDescriptorFactory, org.refcodes.rest.HomePathAccessor, org.refcodes.rest.HomePathAccessor.HomePathBuilder<EurekaRegistrySidecar>, org.refcodes.rest.HomePathAccessor.HomePathMutator, org.refcodes.rest.HomePathAccessor.HomePathProperty, org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B>, org.refcodes.rest.HttpRegistrySidecar<EurekaServerDescriptor,B>, org.refcodes.rest.HttpRegistryUrlAccessor, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<EurekaRegistrySidecar>, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlMutator, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlProperty, org.refcodes.rest.HttpServerDescriptorAccessor<EurekaRegistrySidecar>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<EurekaServerDescriptor,B>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorMutator<EurekaRegistrySidecar>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorProperty<EurekaRegistrySidecar>, org.refcodes.rest.HttpServerDescriptorFactory<EurekaRegistrySidecar>, org.refcodes.rest.PingPathAccessor, org.refcodes.rest.PingPathAccessor.PingPathBuilder<EurekaRegistrySidecar>, org.refcodes.rest.PingPathAccessor.PingPathMutator, org.refcodes.rest.PingPathAccessor.PingPathProperty, org.refcodes.rest.StatusPathAccessor, org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<EurekaRegistrySidecar>, org.refcodes.rest.StatusPathAccessor.StatusPathMutator, org.refcodes.rest.StatusPathAccessor.StatusPathProperty, org.refcodes.security.TrustStoreDescriptorAccessor, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<EurekaRegistrySidecar>, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty


    public class EurekaRegistrySidecarImpl
    extends org.refcodes.rest.AbstractHttpRegistrySidecar<EurekaServerDescriptor,EurekaRegistrySidecar>
    implements EurekaRegistrySidecar
    The EurekaRegistrySidecarImpl provides you with a library for registering your web-services at Eureka service registry and discovery.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  EurekaRegistrySidecarImpl.HeartBeatDaemon  
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.AliasAccessor

        org.refcodes.mixin.AliasAccessor.AliasBuilder<B extends org.refcodes.mixin.AliasAccessor.AliasBuilder<B>>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.Configurable

        org.refcodes.component.Configurable.ConfigureAutomaton<CTX extends java.lang.Object>, org.refcodes.component.Configurable.ConfigureBuilder<CTX extends java.lang.Object,B extends org.refcodes.component.Configurable.ConfigureBuilder<CTX,B>>
      • Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable

        org.refcodes.component.Destroyable.DestroyAutomaton
      • Nested classes/interfaces inherited from interface org.refcodes.rest.HomePathAccessor

        org.refcodes.rest.HomePathAccessor.HomePathBuilder<B extends org.refcodes.rest.HomePathAccessor.HomePathBuilder<?>>, org.refcodes.rest.HomePathAccessor.HomePathMutator, org.refcodes.rest.HomePathAccessor.HomePathProperty
      • Nested classes/interfaces inherited from interface org.refcodes.net.HostAccessor

        org.refcodes.net.HostAccessor.HostBuilder<B extends org.refcodes.net.HostAccessor.HostBuilder<?>>, org.refcodes.net.HostAccessor.HostMutator, org.refcodes.net.HostAccessor.HostProperty
      • Nested classes/interfaces inherited from interface org.refcodes.rest.HttpRegistryUrlAccessor

        org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<B extends org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<B>>, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlMutator, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlProperty
      • Nested classes/interfaces inherited from interface org.refcodes.rest.HttpServerDescriptorAccessor

        org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<DESC extends org.refcodes.rest.HttpServerDescriptor,B extends org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<DESC,B>>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorMutator<DESC extends org.refcodes.rest.HttpServerDescriptor>, org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorProperty<DESC extends org.refcodes.rest.HttpServerDescriptor>
      • Nested classes/interfaces inherited from interface org.refcodes.component.Initializable

        org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.Initializable.InitializeBuilder<B extends org.refcodes.component.Initializable.InitializeBuilder<B>>, org.refcodes.component.Initializable.UncheckedInitializable
      • Nested classes/interfaces inherited from interface org.refcodes.component.InitializedAccessor

        org.refcodes.component.InitializedAccessor.InitializedMutator, org.refcodes.component.InitializedAccessor.InitializedProperty
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.InstanceIdAccessor

        org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<B extends org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<B>>, org.refcodes.mixin.InstanceIdAccessor.InstanceIdMutator, org.refcodes.mixin.InstanceIdAccessor.InstanceIdProperty
      • Nested classes/interfaces inherited from interface org.refcodes.net.IpAddressAccessor

        org.refcodes.net.IpAddressAccessor.IpAddressBuilder<B extends org.refcodes.net.IpAddressAccessor.IpAddressBuilder<B>>, org.refcodes.net.IpAddressAccessor.IpAddressMutator, org.refcodes.net.IpAddressAccessor.IpAddressProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.LifeCycleComponent

        org.refcodes.component.LifeCycleComponent.LifeCycleAutomaton, org.refcodes.component.LifeCycleComponent.UncheckedLifeCycleComponent
      • Nested classes/interfaces inherited from interface org.refcodes.component.LifeCycleStatusAccessor

        org.refcodes.component.LifeCycleStatusAccessor.LifeCycleStatusBuilder<B extends org.refcodes.component.LifeCycleStatusAccessor.LifeCycleStatusBuilder<B>>, org.refcodes.component.LifeCycleStatusAccessor.LifeCycleStatusMutator, org.refcodes.component.LifeCycleStatusAccessor.LifeCycleStatusProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.Pausable

        org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Pausable.PauseBuilder<B extends org.refcodes.component.Pausable.PauseBuilder<B>>, org.refcodes.component.Pausable.UncheckedPausable
      • Nested classes/interfaces inherited from interface org.refcodes.rest.PingPathAccessor

        org.refcodes.rest.PingPathAccessor.PingPathBuilder<B extends org.refcodes.rest.PingPathAccessor.PingPathBuilder<?>>, org.refcodes.rest.PingPathAccessor.PingPathMutator, org.refcodes.rest.PingPathAccessor.PingPathProperty
      • Nested classes/interfaces inherited from interface org.refcodes.mixin.PortAccessor

        org.refcodes.mixin.PortAccessor.PortBuilder<B extends org.refcodes.mixin.PortAccessor.PortBuilder<B>>, org.refcodes.mixin.PortAccessor.PortMutator, org.refcodes.mixin.PortAccessor.PortProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.Resumable

        org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.Resumable.ResumeBuilder<B extends org.refcodes.component.Resumable.ResumeBuilder<B>>, org.refcodes.component.Resumable.UncheckedResumable
      • Nested classes/interfaces inherited from interface org.refcodes.component.RunningAccessor

        org.refcodes.component.RunningAccessor.RunningMutator, org.refcodes.component.RunningAccessor.RunningProperty
      • Nested classes/interfaces inherited from interface org.refcodes.net.SchemeAccessor

        org.refcodes.net.SchemeAccessor.SchemeBuilder<B extends org.refcodes.net.SchemeAccessor.SchemeBuilder<B>>, org.refcodes.net.SchemeAccessor.SchemeMutator, org.refcodes.net.SchemeAccessor.SchemeProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.Startable

        org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Startable.StartBuilder<B extends org.refcodes.component.Startable.StartBuilder<B>>, org.refcodes.component.Startable.UncheckedStartable
      • Nested classes/interfaces inherited from interface org.refcodes.rest.StatusPathAccessor

        org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<B extends org.refcodes.rest.StatusPathAccessor.StatusPathBuilder<?>>, org.refcodes.rest.StatusPathAccessor.StatusPathMutator, org.refcodes.rest.StatusPathAccessor.StatusPathProperty
      • Nested classes/interfaces inherited from interface org.refcodes.component.Stoppable

        org.refcodes.component.Stoppable.StopAutomaton, org.refcodes.component.Stoppable.StopBuilder<B extends org.refcodes.component.Stoppable.StopBuilder<B>>, org.refcodes.component.Stoppable.UncheckedStoppable
      • Nested classes/interfaces inherited from interface org.refcodes.security.TrustStoreDescriptorAccessor

        org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B extends org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B>>, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty
      • Nested classes/interfaces inherited from interface org.refcodes.net.VirtualHostAccessor

        org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<B extends org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<?>>, org.refcodes.net.VirtualHostAccessor.VirtualHostMutator, org.refcodes.net.VirtualHostAccessor.VirtualHostProperty
    • Field Summary

      • Fields inherited from class org.refcodes.rest.AbstractHttpRegistrySidecar

        _lifeCycleAutomaton, _pingRequestObserver
    • Constructor Summary

      Constructors 
      Constructor Description
      EurekaRegistrySidecarImpl​(java.util.concurrent.ExecutorService aExecutorService)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void destroy​()
      protected void doDeregister​()
      Unregisters the given service at Eureka.
      protected static void doDeregister​(EurekaRegistry<?> aRegistryService, java.util.concurrent.ExecutorService aExecutorService)
      Unregisters the given service at Eureka.
      protected void doRegister​(EurekaServiceStatus aServiceStatus)
      Registers the given service at Eureka.
      protected static void doRegister​(EurekaServiceStatus aServiceStatus, EurekaRegistry<?> aRegistryService, java.util.concurrent.ExecutorService aExecutorService)
      Registers the given service at Eureka.
      protected void doStatusUpdate​(EurekaServiceStatus aServiceStatus)
      Does a Eureka status update for the given service.
      protected static void doStatusUpdate​(EurekaServiceStatus aServiceStatus, EurekaRegistry<?> aRegistryService, java.util.concurrent.ExecutorService aExecutorService)
      Does a Eureka status update for the given service.
      EurekaDataCenterType getEurekaDataCenterType​()
      Retrieves the Eureka data center type from the Eureka data center type property.
      java.lang.String getHomePath​()
      int getPort​()
      org.refcodes.data.Scheme getScheme​()
      java.lang.String getStatusPath​()
      void initialize​(EurekaServerDescriptor aServerDescriptor, org.refcodes.net.Url aRegistryUrl, org.refcodes.security.TrustStoreDescriptor aStoreDescriptor)
      void pause​()
      void resume​()
      void setEurekaDataCenterType​(EurekaDataCenterType aDataCenterType)
      Sets the Eureka data center type for the Eureka data center type property.
      void setHomePath​(java.lang.String aHomePath)
      void setPort​(int aPort)
      void setProtocol​(java.lang.String aProtocol)
      void setScheme​(org.refcodes.data.Scheme aScheme)
      void setStatusPath​(java.lang.String aStatusPath)
      void start​()
      void stop​()
      protected static AmazonMetaData toAmazonMetaData​()
      Constructs the Amazon Meta-Data from the Machine's network and AWS settings.
      protected static EurekaDataCenterType toDataCenterType​(EurekaDataCenterType aDataCenterType, EurekaDataCenterTypeAccessor.EurekaDataCenterTypeProperty aProperty)
      Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
      protected static java.lang.String toHomePath​(java.lang.String aHomePath, java.lang.String aDefaultHomePath, org.refcodes.rest.HomePathAccessor.HomePathProperty aProperty)
      Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
      protected static org.refcodes.net.Url toHttpRegistryUrl​(org.refcodes.net.Url aRegistryUrl, org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlProperty aProperty)
      Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
      EurekaServerDescriptor toHttpServerDescriptor​(java.lang.String aAlias, java.lang.String aInstanceId, org.refcodes.data.Scheme aScheme, java.lang.String aHost, java.lang.String aVirtualHost, int[] aIpAddress, int aPort, java.lang.String aPingPath, java.lang.String aStatusPath, java.lang.String aHomePath, EurekaDataCenterType aDataCenterType)
      Prepares the HttpServerDescriptor by creating it from this instance's state and the provided arguments.
      protected static java.lang.String toInstanceId​(java.lang.String aInstanceId, java.lang.String aHost, org.refcodes.mixin.InstanceIdAccessor.InstanceIdProperty aProperty)
      Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
      java.lang.String toProtocol​()
      protected static java.lang.String toStatusPath​(java.lang.String aStatusPath, java.lang.String aDefaultStatusPath, org.refcodes.rest.StatusPathAccessor.StatusPathProperty aProperty)
      Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
      • Methods inherited from class org.refcodes.rest.AbstractHttpRegistrySidecar

        getAlias, getHost, getHttpRegistryUrl, getHttpServerDescriptor, getInstanceId, getIpAddress, getLifeCycleStatus, getPingPath, getTrustStoreDescriptor, getVirtualHost, initialize, isDestroyable, isDestroyed, isInitalizable, isInitialized, isPausable, isPaused, isResumable, isRunning, isStartable, isStoppable, isStopped, setAlias, setHost, setHttpRegistryUrl, setHttpServerDescriptor, setInstanceId, setIpAddress, setPingPath, setTrustStoreDescriptor, setVirtualHost, toAlias, toHost, toHttpServerDescriptor, toIpAddress, toPingPath, toPort, toScheme, toTrustStoreDescriptor, toVirtualHost
      • Methods inherited from interface org.refcodes.mixin.AliasAccessor

        getAlias
      • Methods inherited from interface org.refcodes.mixin.AliasAccessor.AliasMutator

        setAlias
      • Methods inherited from interface org.refcodes.component.Configurable

        initializeUnchecked
      • Methods inherited from interface org.refcodes.component.Destroyable.DestroyAutomaton

        isDestroyable, isDestroyed
      • Methods inherited from interface org.refcodes.net.HostAccessor

        getHost
      • Methods inherited from interface org.refcodes.net.HostAccessor.HostMutator

        setHost
      • Methods inherited from interface org.refcodes.rest.HttpRegistry

        initialize, initialize, initialize, initialize, initialize, initialize, withAlias, withCidrNotation, withHost, withHttpRegistryUrl, withHttpServerDescriptor, withInstanceId, withIpAddress, withPingPath, withTrustStoreDescriptor, withVirtualHost
      • Methods inherited from interface org.refcodes.rest.HttpRegistrySidecar

        withPort, withProtocol, withScheme
      • Methods inherited from interface org.refcodes.rest.HttpRegistryUrlAccessor

        getHttpRegistryUrl
      • Methods inherited from interface org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlMutator

        setHttpRegistryUrl
      • Methods inherited from interface org.refcodes.rest.HttpServerDescriptorAccessor

        getHttpServerDescriptor
      • Methods inherited from interface org.refcodes.rest.HttpServerDescriptorAccessor.HttpServerDescriptorMutator

        setHttpServerDescriptor
      • Methods inherited from interface org.refcodes.rest.HttpServerDescriptorFactory

        toHttpServerDescriptor, toHttpServerDescriptor, toHttpServerDescriptor, toHttpServerDescriptor
      • Methods inherited from interface org.refcodes.component.Initializable

        initializeUnchecked
      • Methods inherited from interface org.refcodes.component.Initializable.InitializeAutomaton

        isInitalizable
      • Methods inherited from interface org.refcodes.component.InitializedAccessor

        isInitialized
      • Methods inherited from interface org.refcodes.mixin.InstanceIdAccessor

        getInstanceId
      • Methods inherited from interface org.refcodes.mixin.InstanceIdAccessor.InstanceIdMutator

        setInstanceId
      • Methods inherited from interface org.refcodes.net.IpAddressAccessor

        getIpAddress, toCidrNotation
      • Methods inherited from interface org.refcodes.net.IpAddressAccessor.IpAddressMutator

        fromCidrNotation, setIpAddress
      • Methods inherited from interface org.refcodes.component.LifeCycleStatusAccessor

        getLifeCycleStatus
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.refcodes.component.Pausable

        pauseUnchecked
      • Methods inherited from interface org.refcodes.component.Pausable.PauseAutomaton

        isPausable, isPaused
      • Methods inherited from interface org.refcodes.rest.PingPathAccessor

        getPingPath
      • Methods inherited from interface org.refcodes.rest.PingPathAccessor.PingPathMutator

        setPingPath
      • Methods inherited from interface org.refcodes.component.Resumable

        resumeUnchecked
      • Methods inherited from interface org.refcodes.component.Resumable.ResumeAutomaton

        isResumable
      • Methods inherited from interface org.refcodes.component.RunningAccessor

        isRunning
      • Methods inherited from interface org.refcodes.component.Startable

        startUnchecked
      • Methods inherited from interface org.refcodes.component.Startable.StartAutomaton

        isStartable
      • Methods inherited from interface org.refcodes.component.Stoppable

        stopUnchecked
      • Methods inherited from interface org.refcodes.component.Stoppable.StopAutomaton

        isStoppable, isStopped
      • Methods inherited from interface org.refcodes.security.TrustStoreDescriptorAccessor

        getTrustStoreDescriptor
      • Methods inherited from interface org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator

        setTrustStoreDescriptor
      • Methods inherited from interface org.refcodes.net.VirtualHostAccessor

        getVirtualHost
      • Methods inherited from interface org.refcodes.net.VirtualHostAccessor.VirtualHostMutator

        setVirtualHost
    • Constructor Detail

      • EurekaRegistrySidecarImpl

        public EurekaRegistrySidecarImpl​(java.util.concurrent.ExecutorService aExecutorService)
        Parameters:
        aExecutorService - An executor service to be used when creating Threads.
    • Method Detail

      • initialize

        public void initialize​(EurekaServerDescriptor aServerDescriptor,
                               org.refcodes.net.Url aRegistryUrl,
                               org.refcodes.security.TrustStoreDescriptor aStoreDescriptor)
                        throws org.refcodes.component.InitializeException
        Specified by:
        initialize in interface org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B extends EurekaRegistry<B>>
        Throws:
        org.refcodes.component.InitializeException
      • start

        public void start​()
                   throws org.refcodes.component.StartException
        Specified by:
        start in interface org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B extends EurekaRegistry<B>>
        Specified by:
        start in interface org.refcodes.component.Startable
        Overrides:
        start in class org.refcodes.rest.AbstractHttpRegistrySidecar<EurekaServerDescriptor,EurekaRegistrySidecar>
        Throws:
        org.refcodes.component.StartException
      • pause

        public void pause​()
                   throws org.refcodes.component.PauseException
        Specified by:
        pause in interface org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B extends EurekaRegistry<B>>
        Specified by:
        pause in interface org.refcodes.component.Pausable
        Overrides:
        pause in class org.refcodes.rest.AbstractHttpRegistrySidecar<EurekaServerDescriptor,EurekaRegistrySidecar>
        Throws:
        org.refcodes.component.PauseException
      • resume

        public void resume​()
                    throws org.refcodes.component.ResumeException
        Specified by:
        resume in interface org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B extends EurekaRegistry<B>>
        Specified by:
        resume in interface org.refcodes.component.Resumable
        Overrides:
        resume in class org.refcodes.rest.AbstractHttpRegistrySidecar<EurekaServerDescriptor,EurekaRegistrySidecar>
        Throws:
        org.refcodes.component.ResumeException
      • stop

        public void stop​()
                  throws org.refcodes.component.StopException
        Specified by:
        stop in interface org.refcodes.rest.HttpRegistry<EurekaServerDescriptor,B extends EurekaRegistry<B>>
        Specified by:
        stop in interface org.refcodes.component.Stoppable
        Overrides:
        stop in class org.refcodes.rest.AbstractHttpRegistrySidecar<EurekaServerDescriptor,EurekaRegistrySidecar>
        Throws:
        org.refcodes.component.StopException
      • setPort

        public void setPort​(int aPort)
        Specified by:
        setPort in interface org.refcodes.mixin.PortAccessor.PortMutator
      • getPort

        public int getPort​()
        Specified by:
        getPort in interface org.refcodes.mixin.PortAccessor
      • toProtocol

        public java.lang.String toProtocol​()
        Specified by:
        toProtocol in interface org.refcodes.net.SchemeAccessor
      • setProtocol

        public void setProtocol​(java.lang.String aProtocol)
        Specified by:
        setProtocol in interface org.refcodes.net.SchemeAccessor.SchemeMutator
      • setScheme

        public void setScheme​(org.refcodes.data.Scheme aScheme)
        Specified by:
        setScheme in interface org.refcodes.net.SchemeAccessor.SchemeMutator
      • getScheme

        public org.refcodes.data.Scheme getScheme​()
        Specified by:
        getScheme in interface org.refcodes.net.SchemeAccessor
      • getHomePath

        public java.lang.String getHomePath​()
        Specified by:
        getHomePath in interface org.refcodes.rest.HomePathAccessor
      • setHomePath

        public void setHomePath​(java.lang.String aHomePath)
        Specified by:
        setHomePath in interface org.refcodes.rest.HomePathAccessor.HomePathMutator
      • getStatusPath

        public java.lang.String getStatusPath​()
        Specified by:
        getStatusPath in interface org.refcodes.rest.StatusPathAccessor
      • setStatusPath

        public void setStatusPath​(java.lang.String aStatusPath)
        Specified by:
        setStatusPath in interface org.refcodes.rest.StatusPathAccessor.StatusPathMutator
      • toHttpServerDescriptor

        public EurekaServerDescriptor toHttpServerDescriptor​(java.lang.String aAlias,
                                                             java.lang.String aInstanceId,
                                                             org.refcodes.data.Scheme aScheme,
                                                             java.lang.String aHost,
                                                             java.lang.String aVirtualHost,
                                                             int[] aIpAddress,
                                                             int aPort,
                                                             java.lang.String aPingPath,
                                                             java.lang.String aStatusPath,
                                                             java.lang.String aHomePath,
                                                             EurekaDataCenterType aDataCenterType)
        Prepares the HttpServerDescriptor by creating it from this instance's state and the provided arguments. The provided arguments can modify theinstance's state. The HttpServerDescriptor as finally used is returned. You may modify this context and use it after modification to initialize the server via HttpRegistry.initialize(HttpServerDescriptor, Url) or HttpRegistry.initialize(HttpServerDescriptor, Url, TrustStoreDescriptor).
        Specified by:
        toHttpServerDescriptor in interface EurekaServerDescriptorFactory
        Parameters:
        aAlias - The name ("alias") which identifies the server in the registry.
        aInstanceId - The ID for the instance when being registered at the service registry. If omitted, then the host name is used.
        aScheme - The Scheme to which this server is being attached (HTTP or HTTPS).
        aHost - The host name to be used to address this server. If omitted, then the system's host name should be used.
        aVirtualHost - The virtual host name to be used for resolving.
        aIpAddress - The IP-Address identifying the host.
        aPort - The port of your service being registered. Make sure, you do not
        aPingPath - The path to use as health-check end-point by this server.
        aStatusPath - The path to use as status-page end-point by this server.
        aHomePath - The path to use as home-page end-point by this server.
        aDataCenterType - The data center type to be used.
        Returns:
        The HttpServerDescriptor as would be used when initializing this instance via HttpRegistry.initialize()
      • toHomePath

        protected static java.lang.String toHomePath​(java.lang.String aHomePath,
                                                     java.lang.String aDefaultHomePath,
                                                     org.refcodes.rest.HomePathAccessor.HomePathProperty aProperty)
        Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
        Parameters:
        aHomePath - The value to be used when not null.
        aDefaultHomePath - The value to be used when instance ID is null.
        aProperty - The property to be used when the value is null and which is to be set when the value is not null.
        Returns:
        The value when not null, else the value of the provided property.
      • toStatusPath

        protected static java.lang.String toStatusPath​(java.lang.String aStatusPath,
                                                       java.lang.String aDefaultStatusPath,
                                                       org.refcodes.rest.StatusPathAccessor.StatusPathProperty aProperty)
        Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
        Parameters:
        aStatusPath - The value to be used when not null.
        aDefaultStatusPath - The value to be used when instance ID is null.
        aProperty - The property to be used when the value is null and which is to be set when the value is not null.
        Returns:
        The value when not null, else the value of the provided property.
      • toInstanceId

        protected static java.lang.String toInstanceId​(java.lang.String aInstanceId,
                                                       java.lang.String aHost,
                                                       org.refcodes.mixin.InstanceIdAccessor.InstanceIdProperty aProperty)
        Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
        Parameters:
        aInstanceId - The value to be used when not null.
        aHost - The value to be used when instance ID is null.
        aProperty - The property to be used when the value is null and which is to be set when the value is not null.
        Returns:
        The value when not null, else the value of the provided property.
      • doRegister

        protected void doRegister​(EurekaServiceStatus aServiceStatus)
                           throws org.refcodes.net.HttpStatusException,
                                  org.refcodes.component.OpenException
        Registers the given service at Eureka.
        Parameters:
        aServiceStatus - The EurekaServiceStatus to be set.
        Throws:
        org.refcodes.net.HttpStatusException - Thrown in case a HTTP response was of an erroneous status.
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
      • doRegister

        protected static void doRegister​(EurekaServiceStatus aServiceStatus,
                                         EurekaRegistry<?> aRegistryService,
                                         java.util.concurrent.ExecutorService aExecutorService)
                                  throws org.refcodes.net.HttpStatusException,
                                         org.refcodes.component.OpenException
        Registers the given service at Eureka.
        Parameters:
        aServiceStatus - The EurekaServiceStatus to be set.
        aRegistryService - The registry service to be used for registering.
        aExecutorService - The ExecutorService used to create threads.
        Throws:
        org.refcodes.net.HttpStatusException - Thrown in case a HTTP response was of an erroneous status.
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
      • doStatusUpdate

        protected void doStatusUpdate​(EurekaServiceStatus aServiceStatus)
                               throws org.refcodes.component.OpenException,
                                      java.net.UnknownHostException,
                                      org.refcodes.net.HttpStatusException
        Does a Eureka status update for the given service.
        Parameters:
        aServiceStatus - The EurekaServiceStatus to be set.
        Throws:
        org.refcodes.net.HttpStatusException - Thrown in case a HTTP response was of an erroneous status.
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
        java.net.UnknownHostException - Thrown in case the targeted host is unknown.
      • doStatusUpdate

        protected static void doStatusUpdate​(EurekaServiceStatus aServiceStatus,
                                             EurekaRegistry<?> aRegistryService,
                                             java.util.concurrent.ExecutorService aExecutorService)
                                      throws org.refcodes.component.OpenException,
                                             java.net.UnknownHostException,
                                             org.refcodes.net.HttpStatusException
        Does a Eureka status update for the given service.
        Parameters:
        aServiceStatus - The EurekaServiceStatus to be set.
        aRegistryService - The registry service to be used for registering.
        aExecutorService - The ExecutorService used to create threads.
        Throws:
        org.refcodes.net.HttpStatusException - Thrown in case a HTTP response was of an erroneous status.
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
        java.net.UnknownHostException - Thrown in case the targeted host is unknown.
      • doDeregister

        protected void doDeregister​()
                             throws org.refcodes.component.OpenException,
                                    org.refcodes.net.HttpStatusException
        Unregisters the given service at Eureka.
        Throws:
        org.refcodes.net.HttpStatusException - Thrown in case a HTTP response was of an erroneous status.t
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
      • doDeregister

        protected static void doDeregister​(EurekaRegistry<?> aRegistryService,
                                           java.util.concurrent.ExecutorService aExecutorService)
                                    throws org.refcodes.component.OpenException,
                                           org.refcodes.net.HttpStatusException
        Unregisters the given service at Eureka.
        Parameters:
        aRegistryService - The registry service to be used for registering.
        aExecutorService - The ExecutorService used to create threads.
        Throws:
        org.refcodes.net.HttpStatusException - Thrown in case a HTTP response was of an erroneous status.t
        org.refcodes.component.OpenException - Thrown in case opening or accessing an open line (connection, junction, link) caused problems.
      • toHttpRegistryUrl

        protected static org.refcodes.net.Url toHttpRegistryUrl​(org.refcodes.net.Url aRegistryUrl,
                                                                org.refcodes.rest.HttpRegistryUrlAccessor.HttpRegistryUrlProperty aProperty)
        Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
        Parameters:
        aRegistryUrl - The value to be used when not null.
        aProperty - The property to be used when the value is null and which is to be set when the value is not null.
        Returns:
        The value when not null, else the value of the provided property.
      • toDataCenterType

        protected static EurekaDataCenterType toDataCenterType​(EurekaDataCenterType aDataCenterType,
                                                               EurekaDataCenterTypeAccessor.EurekaDataCenterTypeProperty aProperty)
        Resolves the property from the provided value and the provided property and sets the property in case the provided value is not null.
        Parameters:
        aDataCenterType - The value to be used when not null.
        aProperty - The property to be used when the value is null and which is to be set when the value is not null.
        Returns:
        The value when not null, else the value of the provided property.
      • toAmazonMetaData

        protected static AmazonMetaData toAmazonMetaData​()
        Constructs the Amazon Meta-Data from the Machine's network and AWS settings.
        Returns:
        The according Amazon Meta-Data.