Class ClientBuilder

    • Constructor Detail

      • ClientBuilder

        protected ClientBuilder()
        Allows custom implementations to extend the ClientBuilder class.
    • Method Detail

      • newBuilder

        public static ClientBuilder newBuilder()
        Create a new ClientBuilder instance using the default client builder implementation class provided by the implementation provider.
        Returns:
        new client builder instance.
      • newClient

        public static Client newClient()
        Create a new Client instance using the default client builder implementation class provided by the implementation provider.
        Returns:
        new client instance.
      • newClient

        public static Client newClient​(Configuration configuration)
        Create a new custom-configured Client instance using the default client builder implementation class provided by the implementation provider.
        Parameters:
        configuration - data used to provide initial configuration for the new client instance.
        Returns:
        new configured client instance.
      • withConfig

        public abstract ClientBuilder withConfig​(Configuration config)
        Set the internal configuration state to an externally provided configuration state.
        Parameters:
        config - external configuration state to replace the configuration of this configurable instance.
        Returns:
        the updated client builder instance.
      • hostnameVerifier

        public abstract ClientBuilder hostnameVerifier​(HostnameVerifier verifier)
        Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.
        Parameters:
        verifier - hostname verifier.
        Returns:
        an updated client builder instance.
      • scheduledExecutorService

        public abstract ClientBuilder scheduledExecutorService​(ScheduledExecutorService scheduledExecutorService)
        Set the client-side ScheduledExecutorService.

        Provided executor service will be used for executing scheduled asynchronous tasks.

        When running in a Jakarta EE container, implementations are required to use the container-managed scheduled executor service by default. In Java SE the default is implementation-specific. In either case, calling this method will override the default.

        Parameters:
        scheduledExecutorService - executor service to be used for scheduled async invocations.
        Returns:
        an updated client builder instance.
        Since:
        2.1
        See Also:
        SseEventSource.Builder.reconnectingEvery(long, TimeUnit)
      • connectTimeout

        public abstract ClientBuilder connectTimeout​(long timeout,
                                                     TimeUnit unit)
        Set the connect timeout.

        Value 0 represents infinity. Negative values are not allowed.

        Parameters:
        timeout - the maximum time to wait.
        unit - the time unit of the timeout argument.
        Returns:
        an updated client builder instance.
        Throws:
        IllegalArgumentException - when the value is negative.
        Since:
        2.1
      • readTimeout

        public abstract ClientBuilder readTimeout​(long timeout,
                                                  TimeUnit unit)
        Set the read timeout.

        The value is the timeout to read a response. If the server doesn't respond within the defined timeframe, ProcessingException is thrown with TimeoutException as a cause.

        Value 0 represents infinity. Negative values are not allowed.

        Parameters:
        timeout - the maximum time to wait.
        unit - the time unit of the timeout argument.
        Returns:
        an updated client builder instance.
        Throws:
        IllegalArgumentException - when the value is negative.
        Since:
        2.1
      • build

        public abstract Client build()
        Build a new client instance using all the configuration previously specified in this client builder.
        Returns:
        a new client instance.