org.apache.ignite.services

## Interface ServiceDescriptor

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  ServiceDescriptorImpl

    public interface ServiceDescriptor
    extends Serializable

Service deployment descriptor. Contains all service deployment configuration, and also deployment topology snapshot as well as origin node ID.

Service descriptors can be retrieved by calling `IgniteServices.serviceDescriptors()` method.

### Method Summary

Methods
`<K> K` `affinityKey()` Gets affinity key used for key-to-node affinity calculation.
`String` `cacheName()` Gets cache name used for key-to-node affinity calculation.
`int` `maxPerNodeCount()` Gets maximum allowed number of deployed services on each node, `0` for unlimited.
`String` `name()` Gets service name.
`UUID` `originNodeId()` Gets ID of grid node that initiated the service deployment.
`Class<? extends Service>` `serviceClass()` Gets service class.
`Map<UUID,Integer>` `topologySnapshot()` Gets service deployment topology snapshot.
`int` `totalCount()` Gets maximum allowed total number of deployed services in the grid, `0` for unlimited.

### Method Detail

#### name

    String name()

Gets service name.

Returns:
  Service name.

#### serviceClass

    Class<? extends Service> serviceClass()

Gets service class.

Returns:
  Service class.

#### totalCount

    int totalCount()

Gets maximum allowed total number of deployed services in the grid, `0` for unlimited.

Returns:
  Maximum allowed total number of deployed services in the grid, `0` for unlimited.

#### maxPerNodeCount

    int maxPerNodeCount()

Gets maximum allowed number of deployed services on each node, `0` for unlimited.

Returns:
  Maximum allowed total number of deployed services on each node, `0` for unlimited.

#### cacheName

    @Nullable
    String cacheName()

Gets cache name used for key-to-node affinity calculation. This parameter is optional and is set only when key-affinity service was deployed.

Returns:
  Cache name, possibly `null`.

#### affinityKey

    @Nullable
    <K> K affinityKey()

Gets affinity key used for key-to-node affinity calculation. This parameter is optional and is set only when key-affinity service was deployed.

Returns:
  Affinity key, possibly `null`.

#### originNodeId

    UUID originNodeId()

Gets ID of grid node that initiated the service deployment.

Returns:
  ID of grid node that initiated the service deployment.

#### topologySnapshot

    Map<UUID,Integer> topologySnapshot()

Gets service deployment topology snapshot. Service topology snapshot is represented by number of service instances deployed on a node mapped to node ID.

Returns:
  Map of number of service instances per node ID.

2015 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 1.1.0-incubating
Release Date | : May 20 2015