Class ServerFactory

java.lang.Object
org.apache.beam.sdk.fn.server.ServerFactory
Direct Known Subclasses:
ServerFactory.InetSocketAddressServerFactory

public abstract class ServerFactory extends Object
A gRPC server factory.
  • Constructor Details

    • ServerFactory

      public ServerFactory()
  • Method Details

    • createDefault

      public static ServerFactory createDefault()
    • createWithUrlFactory

      public static ServerFactory createWithUrlFactory(ServerFactory.UrlFactory urlFactory)
      Create a ServerFactory.InetSocketAddressServerFactory that uses the given url factory.
    • createWithPortSupplier

      public static ServerFactory createWithPortSupplier(Supplier<Integer> portSupplier)
      Create a ServerFactory.InetSocketAddressServerFactory that uses ports from a supplier.
    • createWithUrlFactoryAndPortSupplier

      public static ServerFactory createWithUrlFactoryAndPortSupplier(ServerFactory.UrlFactory urlFactory, Supplier<Integer> portSupplier)
      Create a ServerFactory.InetSocketAddressServerFactory that uses the given url factory and ports from a supplier.
    • createEpollSocket

      public static ServerFactory createEpollSocket()
      Create a ServerFactory.EpollSocket.
    • createEpollDomainSocket

      public static ServerFactory createEpollDomainSocket()
      Create a ServerFactory.EpollDomainSocket.
    • allocateAddressAndCreate

      public abstract org.apache.beam.vendor.grpc.v1p60p1.io.grpc.Server allocateAddressAndCreate(List<org.apache.beam.vendor.grpc.v1p60p1.io.grpc.BindableService> services, org.apache.beam.model.pipeline.v1.Endpoints.ApiServiceDescriptor.Builder builder) throws IOException
      Creates an instance of this server using an ephemeral address. The allocation of the address is server type dependent, which means the address may be a port for certain type of server, or a file path for other certain types. The chosen address is accessible to the caller from the URL set in the input Endpoints.ApiServiceDescriptor.Builder. Server applies GrpcContextHeaderAccessorProvider.interceptor() to all incoming requests.
      Throws:
      IOException
    • create

      public abstract org.apache.beam.vendor.grpc.v1p60p1.io.grpc.Server create(List<org.apache.beam.vendor.grpc.v1p60p1.io.grpc.BindableService> services, org.apache.beam.model.pipeline.v1.Endpoints.ApiServiceDescriptor serviceDescriptor) throws IOException
      Creates an instance of this server at the address specified by the given service descriptor and bound to multiple services. Server applies GrpcContextHeaderAccessorProvider.interceptor() to all incoming requests.
      Throws:
      IOException