Package org.apache.ignite.client

## Interface ClientServices

-     public interface ClientServices

  Thin client services facade.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ClientClusterGroup` | `clusterGroup()` | Gets the cluster group to which this `ClientServices` instance belongs.
    `ClientServiceDescriptor` | `serviceDescriptor​(String name)` | Gets metadata about deployed services in the grid.
    `Collection<ClientServiceDescriptor>` | `serviceDescriptors()` | Gets metadata about all deployed services in the grid.
    `<T> T` | `serviceProxy​(String name, Class<? super T> svcItf)` | Gets a remote handle on the service.
    `<T> T` | `serviceProxy​(String name, Class<? super T> svcItf, long timeout)` | Gets a remote handle on the service with timeout.
    `<T> T` | `serviceProxy​(String name, Class<? super T> svcItf, ServiceCallContext callCtx)` | Gets a remote handle on the service with the specified caller context.
    `<T> T` | `serviceProxy​(String name, Class<? super T> svcItf, ServiceCallContext callCtx, long timeout)` | Gets a remote handle on the service with the specified caller context and timeout.

- - ### Method Detail

    - #### clusterGroup

          ClientClusterGroup clusterGroup()

      Gets the cluster group to which this `ClientServices` instance belongs.
      Returns:
        Cluster group to which this `ClientServices` instance belongs.

    - #### serviceProxy

          <T> T serviceProxy​(String name,
                             Class<? super T> svcItf)

      Gets a remote handle on the service.

      Note: There are no guarantees that each method invocation for the same proxy will always contact the same remote service (on the same remote node).

      Type Parameters:
        `T` - Service type.
      Parameters:
        `name` - Service name.
        `svcItf` - Interface for the service.
      Returns:
        Proxy over remote service.

    - #### serviceProxy

          <T> T serviceProxy​(String name,
                             Class<? super T> svcItf,
                             long timeout)

      Gets a remote handle on the service with timeout.

      Note: There are no guarantees that each method invocation for the same proxy will always contact the same remote service (on the same remote node).

      Type Parameters:
        `T` - Service type.
      Parameters:
        `name` - Service name.
        `svcItf` - Interface for the service.
        `timeout` - If greater than 0 created proxy will wait for service availability only specified time, and will limit remote service invocation time.
      Returns:
        Proxy over remote service.

    - #### serviceDescriptors

          Collection<ClientServiceDescriptor> serviceDescriptors()

      Gets metadata about all deployed services in the grid.
      Returns:
        Metadata about all deployed services in the grid.

    - #### serviceDescriptor

          ClientServiceDescriptor serviceDescriptor​(String name)

      Gets metadata about deployed services in the grid.
      Parameters:
        `name` - Service name.
      Returns:
        Metadata about all deployed services in the grid.

    - #### serviceProxy

          <T> T serviceProxy​(String name,
                             Class<? super T> svcItf,
                             ServiceCallContext callCtx)

      Gets a remote handle on the service with the specified caller context.

      Note: There are no guarantees that each method invocation for the same proxy will always contact the same remote service (on the same remote node).

      Type Parameters:
        `T` - Service type.
      Parameters:
        `name` - Service name.
        `svcItf` - Interface for the service.
        `callCtx` - Service call context.
      Returns:
        Proxy over remote service.
      See Also:
        `ServiceCallContext`

    - #### serviceProxy

          <T> T serviceProxy​(String name,
                             Class<? super T> svcItf,
                             ServiceCallContext callCtx,
                             long timeout)

      Gets a remote handle on the service with the specified caller context and timeout.

      Note: There are no guarantees that each method invocation for the same proxy will always contact the same remote service (on the same remote node).

      Type Parameters:
        `T` - Service type.
      Parameters:
        `name` - Service name.
        `svcItf` - Interface for the service.
        `callCtx` - Service call context.
        `timeout` - If greater than 0 created proxy will wait for service availability only specified time, and will limit remote service invocation time.
      Returns:
        Proxy over remote service.
      See Also:
        `ServiceCallContext`