DESC
- The type of the server discovery descriptor (the object
describing your service and locating the service registry).B
- In order to implement the builder pattern with a coherent type
hierarchy.public interface HttpRegistryRestServer<DESC extends HttpServerDescriptor,B extends HttpRegistryRestServer<DESC,B>> extends HttpRegistry<DESC,B>, HttpRestServer, PingRequestObserver, PingRequestObserverAccessor, PingRequestObserverAccessor.PingRequestObserverBuilder<B>
HttpRegistryRestServer
provides additional functionality
for registering at and signing off from a service discovery service in order
to resolve URLs to or from other services. This type is intended to be used
by different separate hierarchy branches by providing of the generic type
<B>, ensuring a coherent type hierarchy for each branch.org.refcodes.component.Configurable.ConfigureAutomaton<CTX>, org.refcodes.component.Configurable.ConfigureBuilder<CTX,B extends org.refcodes.component.Configurable.ConfigureBuilder<CTX,B>>
HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<DESC extends HttpServerDescriptor,B extends HttpServerDescriptorAccessor.HttpServerDescriptorBuilder<DESC,B>>, HttpServerDescriptorAccessor.HttpServerDescriptorMutator<DESC extends HttpServerDescriptor>, HttpServerDescriptorAccessor.HttpServerDescriptorProperty<DESC extends HttpServerDescriptor>
PingPathAccessor.PingPathBuilder<B extends PingPathAccessor.PingPathBuilder<?>>, PingPathAccessor.PingPathMutator, PingPathAccessor.PingPathProperty
org.refcodes.net.HostAccessor.HostBuilder<B extends org.refcodes.net.HostAccessor.HostBuilder<?>>, org.refcodes.net.HostAccessor.HostMutator, org.refcodes.net.HostAccessor.HostProperty
org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<B extends org.refcodes.net.VirtualHostAccessor.VirtualHostBuilder<?>>, org.refcodes.net.VirtualHostAccessor.VirtualHostMutator, org.refcodes.net.VirtualHostAccessor.VirtualHostProperty
org.refcodes.net.IpAddressAccessor.IpAddressBuilder<B extends org.refcodes.net.IpAddressAccessor.IpAddressBuilder<B>>, org.refcodes.net.IpAddressAccessor.IpAddressMutator, org.refcodes.net.IpAddressAccessor.IpAddressProperty
org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<B extends org.refcodes.mixin.InstanceIdAccessor.InstanceIdBuilder<B>>, org.refcodes.mixin.InstanceIdAccessor.InstanceIdMutator, org.refcodes.mixin.InstanceIdAccessor.InstanceIdProperty
org.refcodes.mixin.AliasAccessor.AliasBuilder<B extends org.refcodes.mixin.AliasAccessor.AliasBuilder<B>>, org.refcodes.mixin.AliasAccessor.AliasMutator, org.refcodes.mixin.AliasAccessor.AliasProperty
org.refcodes.component.LifeCycleComponent.LifeCycleAutomaton, org.refcodes.component.LifeCycleComponent.UncheckedLifeCycleComponent
org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.Initializable.InitializeBuilder<B extends org.refcodes.component.Initializable.InitializeBuilder<B>>, org.refcodes.component.Initializable.UncheckedInitializable
org.refcodes.component.InitializedAccessor.InitializedMutator, org.refcodes.component.InitializedAccessor.InitializedProperty
org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Startable.StartBuilder<B extends org.refcodes.component.Startable.StartBuilder<B>>, org.refcodes.component.Startable.UncheckedStartable
org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Pausable.PauseBuilder<B extends org.refcodes.component.Pausable.PauseBuilder<B>>, org.refcodes.component.Pausable.UncheckedPausable
org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.Resumable.ResumeBuilder<B extends org.refcodes.component.Resumable.ResumeBuilder<B>>, org.refcodes.component.Resumable.UncheckedResumable
org.refcodes.component.RunningAccessor.RunningMutator, org.refcodes.component.RunningAccessor.RunningProperty
org.refcodes.component.Stoppable.StopAutomaton, org.refcodes.component.Stoppable.StopBuilder<B extends org.refcodes.component.Stoppable.StopBuilder<B>>, org.refcodes.component.Stoppable.UncheckedStoppable
org.refcodes.component.Destroyable.DestroyAutomaton
org.refcodes.component.LifeCycleStatusAccessor.LifeCycleStatusMutator, org.refcodes.component.LifeCycleStatusAccessor.LifeCycleStatusProperty
HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<B extends HttpRegistryUrlAccessor.HttpRegistryUrlBuilder<B>>, HttpRegistryUrlAccessor.HttpRegistryUrlMutator, HttpRegistryUrlAccessor.HttpRegistryUrlProperty
org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B extends org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorBuilder<B>>, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorMutator, org.refcodes.security.TrustStoreDescriptorAccessor.TrustStoreDescriptorProperty
org.refcodes.net.MediaTypeFactoryLookup.MutableMediaTypeFactoryLookup
org.refcodes.net.RealmAccessor.RealmBuilder<B extends org.refcodes.net.RealmAccessor.RealmBuilder<B>>, org.refcodes.net.RealmAccessor.RealmMutator, org.refcodes.net.RealmAccessor.RealmProperty
org.refcodes.net.BaseLocatorAccessor.BaseLocatorBuilder<B extends org.refcodes.net.BaseLocatorAccessor.BaseLocatorBuilder<B>>, org.refcodes.net.BaseLocatorAccessor.BaseLocatorMutator, org.refcodes.net.BaseLocatorAccessor.BaseLocatorProperty
org.refcodes.component.LinkComponent.LinkAutomaton, org.refcodes.component.LinkComponent.LinkComponentBuilder<B extends org.refcodes.component.LinkComponent.LinkComponentBuilder<B>>
org.refcodes.component.Openable.OpenAutomaton, org.refcodes.component.Openable.OpenBuilder<B extends org.refcodes.component.Openable.OpenBuilder<B>>
org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusMutator, org.refcodes.component.ConnectionStatusAccessor.ConnectionStatusProperty
org.refcodes.component.ConnectionComponent.ConnectionAutomaton<CON>, org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON,B extends org.refcodes.component.ConnectionComponent.ConnectionComponentBuilder<CON,B>>
org.refcodes.component.ConnectionOpenable.ConnectionOpenAutomaton<CON>, org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON,B extends org.refcodes.component.ConnectionOpenable.ConnectionOpenBuilder<CON,B>>
org.refcodes.component.Closable.CloseAutomaton, org.refcodes.component.Closable.CloseBuilder<B extends org.refcodes.component.Closable.CloseBuilder<B>>
org.refcodes.mixin.PortAccessor.PortBuilder<B extends org.refcodes.mixin.PortAccessor.PortBuilder<B>>, org.refcodes.mixin.PortAccessor.PortMutator, org.refcodes.mixin.PortAccessor.PortProperty
org.refcodes.net.SchemeAccessor.SchemeBuilder<B extends org.refcodes.net.SchemeAccessor.SchemeBuilder<B>>, org.refcodes.net.SchemeAccessor.SchemeMutator, org.refcodes.net.SchemeAccessor.SchemeProperty
org.refcodes.security.KeyStoreDescriptorAccessor.KeyStoreDescriptorBuilder<B extends org.refcodes.security.KeyStoreDescriptorAccessor.KeyStoreDescriptorBuilder<B>>, org.refcodes.security.KeyStoreDescriptorAccessor.KeyStoreDescriptorMutator, org.refcodes.security.KeyStoreDescriptorAccessor.KeyStoreDescriptorProperty
org.refcodes.io.MaxConnectionsAccessor.MaxConnectionsBuilder<B extends org.refcodes.io.MaxConnectionsAccessor.MaxConnectionsBuilder<B>>, org.refcodes.io.MaxConnectionsAccessor.MaxConnectionsMutator, org.refcodes.io.MaxConnectionsAccessor.MaxConnectionsProperty
PingRequestObserverAccessor.PingRequestObserverBuilder<B extends PingRequestObserverAccessor.PingRequestObserverBuilder<B>>, PingRequestObserverAccessor.PingRequestObserverMutator, PingRequestObserverAccessor.PingRequestObserverProperty
Modifier and Type | Method and Description |
---|---|
void |
destroy()
This server is taken (removed) from the registry server.
|
default void |
initialize(String aAlias,
org.refcodes.data.Scheme aScheme,
String aHost,
String aVirtualHost,
int[] aIpAddress,
int aPort,
String aPingPath,
RestRequestObserver aPingRequestObserver,
org.refcodes.net.Url aRegistryUrl)
Initializes the
HttpRegistryRestServer by registering it
at the service registry with a status such as "starting" or
"initializing" or "not-ready-yet". |
void |
initialize(String aAlias,
String aInstanceId,
org.refcodes.data.Scheme aScheme,
String aHost,
String aVirtualHost,
int[] aIpAddress,
int aPort,
String aPingPath,
RestRequestObserver aPingRequestObserver,
org.refcodes.net.Url aRegistryUrl)
Initializes the
HttpRegistryRestServer by registering it
at the service registry with a status such as "starting" or
"initializing" or "not-ready-yet". |
void |
pause()
Some "deactivated" status is communicated to the registry server.
|
void |
resume()
Some "up-and-running (again)" status is communicated to the registry
server.
|
void |
start()
Some "up-and-running" status is communicated to the registry server.
|
void |
stop()
Some "out-of-order" status is communicated to the registry server.
|
default B |
withPingRequestObserver(RestRequestObserver aRequestObserver)
Sets the ping
RestRequestObserver for the ping
RestRequestObserver property. |
default B |
withPort(int aPort) |
default B |
withProtocol(String aProtocol) |
default B |
withScheme(org.refcodes.data.Scheme aScheme) |
initialize, initialize, initialize, initialize, initialize, initialize, initialize, initialize, withAlias, withCidrNotation, withHost, withHttpRegistryUrl, withHttpServerDescriptor, withInstanceId, withIpAddress, withPingPath, withTrustStoreDescriptor, withVirtualHost
getHttpServerDescriptor
setHttpServerDescriptor
getPingPath
setPingPath
setVirtualHost
fromCidrNotation, setIpAddress
setInstanceId
isInitalizable
isPausable, isPaused
isStoppable, isStopped
isDestroyable, isDestroyed
getHttpRegistryUrl
setHttpRegistryUrl
getTrustStoreDescriptor
setTrustStoreDescriptor
toHttpServerDescriptor, toHttpServerDescriptor, toHttpServerDescriptor, toHttpServerDescriptor, toHttpServerDescriptor
open, open, open, open, open, open, open, open, open, open, open, open, open, withBaseLocator, withClose, withCloseIn, withCloseQuietly, withDisableRequestCorrelation, withDisableSessionCorrelation, withEnableRequestCorrelation, withEnableSessionCorrelation, withKeyStoreDescriptor, withMaxConnections, withOpen, withOpen, withRealm, withRequestCorrelation, withSessionCorrelation
onDelete, onGet, onPost, onPut, onRequest, onRequest, onRequest, withDisableObservers, withEnableObservers, withObserversActive
hasObserverSubscription, subscribeObserver, unsubscribeObserver
disableObservers, enableObservers, isObserversActive, observers, setObserversActive
addMediaTypeFactory
getFactoryMediaTypes, hasMediaTypeFactory, toMediaTypeFactory
setBaseLocator
disableRequestCorrelation, enableRequestCorrelation, hasRequestCorrelation, setRequestCorrelation
disableSessionCorrelation, enableSessionCorrelation, hasSessionCorrelation, setSessionCorrelation
getConnectionStatus, isConnectionOpened
close, closeIn, closeQuietly, closeUnchecked
withOpenUnchecked
onConnectionRequest
setProtocol, setScheme
getKeyStoreDescriptor
setKeyStoreDescriptor
setMaxConnections
onPingRequest
getPingRequestObserver
default B withPort(int aPort)
withPort
in interface HttpRestServer
withPort
in interface org.refcodes.mixin.PortAccessor.PortBuilder<HttpRestServer>
default B withScheme(org.refcodes.data.Scheme aScheme)
withScheme
in interface HttpRestServer
withScheme
in interface org.refcodes.net.SchemeAccessor.SchemeBuilder<HttpRestServer>
default B withProtocol(String aProtocol)
withProtocol
in interface HttpRestServer
withProtocol
in interface org.refcodes.net.SchemeAccessor.SchemeBuilder<HttpRestServer>
default B withPingRequestObserver(RestRequestObserver aRequestObserver)
RestRequestObserver
for the ping
RestRequestObserver
property.withPingRequestObserver
in interface PingRequestObserverAccessor.PingRequestObserverBuilder<B extends HttpRegistryRestServer<DESC,B>>
aRequestObserver
- The ping RestRequestObserver
to be
stored by the ping RestRequestObserver
property.default void initialize(String aAlias, org.refcodes.data.Scheme aScheme, String aHost, String aVirtualHost, int[] aIpAddress, int aPort, String aPingPath, RestRequestObserver aPingRequestObserver, org.refcodes.net.Url aRegistryUrl) throws org.refcodes.component.InitializeException
HttpRegistryRestServer
by registering it
at the service registry with a status such as "starting" or
"initializing" or "not-ready-yet".
aAlias
- The name ("alias") which identifies the server in the
registry.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.aPingPath
- The path to use as health-check end-point by this
server.aPingRequestObserver
- The RestRequestObserver
hooking into
a ping request.aRegistryUrl
- The registry server where to register.org.refcodes.component.InitializeException
- thrown in case initializing a component
caused problems. Usually a method similar to "initialize()"
throws such an exception.void initialize(String aAlias, String aInstanceId, org.refcodes.data.Scheme aScheme, String aHost, String aVirtualHost, int[] aIpAddress, int aPort, String aPingPath, RestRequestObserver aPingRequestObserver, org.refcodes.net.Url aRegistryUrl) throws org.refcodes.component.InitializeException
HttpRegistryRestServer
by registering it
at the service registry with a status such as "starting" or
"initializing" or "not-ready-yet".
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.aPingPath
- The path to use as health-check end-point by this
server.aPingRequestObserver
- The RestRequestObserver
hooking into
a ping request.aRegistryUrl
- The registry server where to register.org.refcodes.component.InitializeException
- thrown in case initializing a component
caused problems. Usually a method similar to "initialize()"
throws such an exception.void start() throws org.refcodes.component.StartException
RestEndpoint
instances (observers) (e.g. via
RestServer.onRequest(org.refcodes.net.HttpMethod, String, RestRequestObserver)
,
RestServer.onGet(String, RestRequestObserver)
RestServer.onPut(String, RestRequestObserver)
,
RestServer.onPut(String, RestRequestObserver)
or
RestServer.onDelete(String, RestRequestObserver)
) are enabled by calling
Observers.enableObservers()
. If necessary, the connection is opened via
HttpRestServer.open()
or the like. May also start a "ping" or "heartbeat"
daemon.
Some "up-and-running" status is communicated to the registry server. May
also start a "ping" or "heartbeat" daemon.
start
in interface HttpRegistry<DESC extends HttpServerDescriptor,B extends HttpRegistryRestServer<DESC,B>>
start
in interface org.refcodes.component.Startable
org.refcodes.component.StartException
void pause() throws org.refcodes.component.PauseException
RestEndpoint
instances (observers) (e.g. via
RestEndpointBuilder
being registered e.g. via
RestServer.onRequest(org.refcodes.net.HttpMethod, String, RestRequestObserver)
,
RestServer.onGet(String, RestRequestObserver)
RestServer.onPut(String, RestRequestObserver)
,
RestServer.onPut(String, RestRequestObserver)
or
RestServer.onDelete(String, RestRequestObserver)
is closed by calling its
Closable.close()
) are disabled by calling
Observers.disableObservers()
.
Some "deactivated" status is communicated to the registry server.
pause
in interface HttpRegistry<DESC extends HttpServerDescriptor,B extends HttpRegistryRestServer<DESC,B>>
pause
in interface org.refcodes.component.Pausable
org.refcodes.component.PauseException
void resume() throws org.refcodes.component.ResumeException
RestEndpoint
instances (observers) (e.g.
via RestEndpointBuilder
being registered e.g. via
RestServer.onRequest(org.refcodes.net.HttpMethod, String, RestRequestObserver)
,
RestServer.onGet(String, RestRequestObserver)
RestServer.onPut(String, RestRequestObserver)
,
RestServer.onPut(String, RestRequestObserver)
or
RestServer.onDelete(String, RestRequestObserver)
is closed by calling its
Closable.close()
) are enabled (again) by calling
Observers.enableObservers()
.
Some "up-and-running (again)" status is communicated to the registry
server.
resume
in interface HttpRegistry<DESC extends HttpServerDescriptor,B extends HttpRegistryRestServer<DESC,B>>
resume
in interface org.refcodes.component.Resumable
org.refcodes.component.ResumeException
void stop() throws org.refcodes.component.StopException
RestEndpoint
instances (observers) (e.g. via
RestServer.onRequest(org.refcodes.net.HttpMethod, String, RestRequestObserver)
,
RestServer.onGet(String, RestRequestObserver)
RestServer.onPut(String, RestRequestObserver)
,
RestServer.onPut(String, RestRequestObserver)
or
RestServer.onDelete(String, RestRequestObserver)
) are disabled by calling
Observers.disableObservers()
. Also stops a "ping" or "heartbeat" daemon.
Some "out-of-order" status is communicated to the registry server. Also
stops a "ping" or "heartbeat" daemon.
stop
in interface HttpRegistry<DESC extends HttpServerDescriptor,B extends HttpRegistryRestServer<DESC,B>>
stop
in interface org.refcodes.component.Stoppable
org.refcodes.component.StopException
void destroy()
RestEndpoint
instances (observers) (e.g. via
RestServer.onRequest(org.refcodes.net.HttpMethod, String, RestRequestObserver)
,
RestServer.onGet(String, RestRequestObserver)
RestServer.onPut(String, RestRequestObserver)
,
RestServer.onPut(String, RestRequestObserver)
or
RestServer.onDelete(String, RestRequestObserver)
) are disabled by calling
Observers.disableObservers()
. Also stops a "ping" or "heartbeat" daemon.
Finally the connection is closed via Closable.close()
.
This server is taken (removed) from the registry server. Also stops a
"ping" or "heartbeat" daemon. Finally the connection is closed.
destroy
in interface org.refcodes.component.Destroyable
destroy
in interface HttpRegistry<DESC extends HttpServerDescriptor,B extends HttpRegistryRestServer<DESC,B>>
Copyright © 2018. All rights reserved.