Package org.apache.sling.discovery
Interface InstanceDescription
-
public interface InstanceDescription
An InstanceDescription represents and contains information about an instance that is part of a TopologyView.Note that all methods are idempotent - they always return the same values on subsequent calls. Rather, on any change new InstanceDescriptions are created.
- See Also:
TopologyView
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PROPERTY_DESCRIPTION
Property containing a description for the instance.static java.lang.String
PROPERTY_ENDPOINTS
Property containing endpoints to connect to the instance.static java.lang.String
PROPERTY_NAME
Property containing a name for the instance.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ClusterView
getClusterView()
Returns the ClusterView of which this instance is part of.java.util.Map<java.lang.String,java.lang.String>
getProperties()
Returns a Map containing all properties of this instance.java.lang.String
getProperty(java.lang.String name)
Returns the value of a particular property.java.lang.String
getSlingId()
The identifier of the running Sling instance.boolean
isLeader()
If an instance is part of a cluster, it can potentially be a leader of that cluster - this information is queried here.boolean
isLocal()
Determines whether this InstanceDescription is representing the local instance.
-
-
-
Field Detail
-
PROPERTY_NAME
static final java.lang.String PROPERTY_NAME
Property containing a name for the instance. The instance should provide this property.- See Also:
- Constant Field Values
-
PROPERTY_DESCRIPTION
static final java.lang.String PROPERTY_DESCRIPTION
Property containing a description for the instance. The instance should provide this property.- See Also:
- Constant Field Values
-
PROPERTY_ENDPOINTS
static final java.lang.String PROPERTY_ENDPOINTS
Property containing endpoints to connect to the instance. The value is a comma separated list. The instance should provide this property.- See Also:
- Constant Field Values
-
-
Method Detail
-
getClusterView
ClusterView getClusterView()
Returns the ClusterView of which this instance is part of.Every instance is part of a ClusterView even if it is standalone.
- Returns:
- the ClusterView
-
isLeader
boolean isLeader()
If an instance is part of a cluster, it can potentially be a leader of that cluster - this information is queried here.If an instance is not part of a cluster, this method returns true.
Only one instance of a cluster is guaranteed to be the leader at any time. This guarantee is provided by this service. If the leader goes down, the service elects a new leader and announces it to TopologyEventListener listeners.
- Returns:
- true if this instance is the - only - leader in this cluster, false if it is one of the slaves, or true if it is not at all part of a cluster
-
isLocal
boolean isLocal()
Determines whether this InstanceDescription is representing the local instance.- Returns:
- whether this InstanceDescription is representing the local instance.
-
getSlingId
java.lang.String getSlingId()
The identifier of the running Sling instance.
-
getProperty
java.lang.String getProperty(java.lang.String name)
Returns the value of a particular property.Note that there are no hard guarantees or requirements as to how quickly a property is available once it is set on a distant instance.
- Parameters:
name
- The property name- Returns:
- The value of the property or
null
- See Also:
DiscoveryService#setProperty(String, String)
-
getProperties
java.util.Map<java.lang.String,java.lang.String> getProperties()
Returns a Map containing all properties of this instance. This method always returns a map, it might be empty. The returned map is not modifiable.- Returns:
- a Map containing all properties of this instance
-
-