abstract class StandaloneSystem extends Client
The first node currently cannot be stopped before system shutdown request. (#169, #114)
- Grouped
- Alphabetic
- By Inheritance
- StandaloneSystem
- Client
- DirectLogging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
var
_instances: Buffer[NodeInstance]
- Attributes
- protected
-
var
_isActive: Buffer[Boolean]
- Attributes
- protected
-
def
activeInstances: List[NodeInstance]
All instances which are active.
- def activeServers: Seq[LocalNodeClient]
-
val
actorMaterializer: ActorMaterializer
The actor materializer to use.
The actor materializer to use.
- Definition Classes
- StandaloneSystem → Client
-
val
addInstance: Host[Int]
Add a new server instance.
Add a new server instance. Value returned is index of instance. A new instance is not inherintly joined to the cluster.
-
val
addNode: Host[Int]
Add a new node to the cluster.
Add a new node to the cluster. Value returned is index of node's instance.
- def arbitraryActiveNodeAddress: prelude.external.Task[prelude.external.Address]
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
awaitTerm: Host[Unit]
Await termination of the entire system.
Await termination of the entire system. this is where standalone waits for SIGINT/SIGKILL.
TODO: Nothing internally will succeed this promise. A SIGINT/SIGKILL result in either a failure or interruption error. 1. there should be a standalone UI to this. 2. SIGINT verified to always result in interrupt error. 2. SIGKILL verified to always result in failure.
- val baseURL: URL
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
downNode(nodeIndex: Int): HostTask[node.TermReason]
Down the node in the cluster.
Down the node in the cluster. This will not immediately shut down the node's server.
#112 verify the actor system will initiate shutdown once the down gossip reaches itself.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
http: HttpExt
HTTP interface to use.
HTTP interface to use.
- Definition Classes
- StandaloneSystem → Client
-
def
initClusterToHealthy: Host[Unit]
Init cluster and assert healthy or fail.
- def instances: Seq[NodeInstance]
- def isActive(index: Int): Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
lazy val
logger: prelude.external.Logger
- Attributes
- protected
- Definition Classes
- DirectLogging
-
val
maxOperationDuration: Finite
- Definition Classes
- StandaloneSystem → Client
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
operationTimeout: prelude.external.Timeout
Operation timeout defaults to the max operation duration plus a bit.
Operation timeout defaults to the max operation duration plus a bit.
- Definition Classes
- Client
- def ops: Seq[LocalNodeClient]
- val prelude: Prelude
- val proxy: StandaloneProxy
-
def
removeNode(nodeIndex: Int): Host[node.TermReason]
Request the given node terminate and wait for the node's termination.
- def replaceNode(nodeIndex: Int): Host[Int]
-
def
requireHealthy: prelude.external.Task[Unit]
- Definition Classes
- Client
-
def
requireOkResponse(request: prelude.AkkaHttp.HttpRequest): prelude.external.Task[prelude.AkkaHttp.ResponseEntity]
- Definition Classes
- Client
-
def
requireResponseCode(request: prelude.AkkaHttp.HttpRequest, expected: prelude.AkkaHttp.StatusCode): prelude.external.Task[prelude.AkkaHttp.ResponseEntity]
- Definition Classes
- Client
-
def
requireUnhealthy: prelude.external.Task[Unit]
- Definition Classes
- Client
-
def
resolveRelativeUri(uri: prelude.AkkaHttp.Uri): prelude.AkkaHttp.Uri
Standalone aggregrate client targets the proxy HTTP port.
Standalone aggregrate client targets the proxy HTTP port. Which then proxies the request to an active node.
- Definition Classes
- StandaloneSystem → Client
-
def
responseCodeAndEntity(request: prelude.AkkaHttp.HttpRequest): prelude.external.Task[(prelude.AkkaHttp.StatusCode, Strict)]
- Definition Classes
- Client
-
def
responseEntity(request: prelude.AkkaHttp.HttpRequest): prelude.external.Task[Strict]
- Definition Classes
- Client
-
def
responseJson(request: prelude.AkkaHttp.HttpRequest): prelude.external.Task[(prelude.AkkaHttp.StatusCode, JsValue)]
- Definition Classes
- Client
-
def
responseTxt(request0: prelude.AkkaHttp.HttpRequest): prelude.external.Task[(prelude.AkkaHttp.StatusCode, String)]
- Definition Classes
- Client
-
def
responseTxtAcceptAll(request: prelude.AkkaHttp.HttpRequest): prelude.external.Task[(prelude.AkkaHttp.StatusCode, String)]
- Definition Classes
- Client
- def servers: Seq[LocalNodeClient]
- val setup: Setup
-
def
shutdown: HostUIO[Unit]
Request all of the given servers instances to stop and wait until they have stopped.
Request all of the given servers instances to stop and wait until they have stopped.
Shutdown is not done concurrently for consistency with gradual node replacement in distributed clusters.
TODO: lift shutdown results to Set[TermReason] \/ app.Error
-
def
singleRequest(request: prelude.AkkaHttp.HttpRequest): prelude.external.Task[prelude.AkkaHttp.HttpResponse]
- Definition Classes
- Client
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
glngn server is a low-code business process as a service rapid development system. Conceptually similar to a programmable Microsoft Access or Apple FileMaker for scalable event sourced business services. In addition to a library, a standalone application is provided that is useful with minimal ceremony. This can be customized with a simple API. As well as deployed to a kubernetes cluster should those advantages be required.
A deployment is cluster of glngn.server.node.AppNodes serving a dynamic composition of glngn.server.ServiceFragments. Deployments are designed to be fully usable as a standalone local application or a kubernetes service.
Contact support@dogheadbone.com for support and licensing.