Class RestateHttpServer

java.lang.Object
dev.restate.sdk.http.vertx.RestateHttpServer

public class RestateHttpServer extends Object
Endpoint builder for a Restate HTTP Endpoint using Vert.x, to serve Restate services.

This endpoint supports the Restate HTTP/2 Streaming component Protocol.

Example usage:

 public static void main(String[] args) {
   Endpoint endpoint = Endpoint.builder()
     .bind(new Counter())
     .build();

   RestateHttpServer.listen(endpoint);
 }
 
  • Constructor Details

    • RestateHttpServer

      public RestateHttpServer()
  • Method Details

    • listen

      public static int listen(Endpoint endpoint)
      Start serving the provided endpoint on the port specified by the environment variable PORT, or alternatively on the default 9080 port.

      NOTE: this method will block for opening the socket and reserving the port. If you need a non-blocking variant, manually create the server with fromEndpoint(Endpoint) and start listening it.

      Returns:
      The listening port
    • listen

      public static int listen(Endpoint.Builder endpointBuilder)
    • listen

      public static int listen(Endpoint endpoint, int port)
      Start serving the provided endpoint on the specified port.

      NOTE: this method will block for opening the socket and reserving the port. If you need a non-blocking variant, manually create the server with fromEndpoint(Endpoint) and start listening it.

      Returns:
      The listening port
    • listen

      public static int listen(Endpoint.Builder endpointBuilder, int port)
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(Endpoint endpoint)
      Create a Vert.x HttpServer from the provided endpoint.
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(Endpoint.Builder endpointBuilder)
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(Endpoint endpoint, io.vertx.core.http.HttpServerOptions options)
      Create a Vert.x HttpServer from the provided endpoint, with the given HttpServerOptions.
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(Endpoint.Builder endpointBuilder, io.vertx.core.http.HttpServerOptions options)
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(io.vertx.core.Vertx vertx, Endpoint endpoint)
      Create a Vert.x HttpServer from the provided endpoint.
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(io.vertx.core.Vertx vertx, Endpoint.Builder endpointBuilder)
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(io.vertx.core.Vertx vertx, Endpoint endpoint, io.vertx.core.http.HttpServerOptions options)
      Create a Vert.x HttpServer from the provided endpoint, with the given HttpServerOptions.
    • fromEndpoint

      public static io.vertx.core.http.HttpServer fromEndpoint(io.vertx.core.Vertx vertx, Endpoint.Builder endpointBuilder, io.vertx.core.http.HttpServerOptions options)