Class GenericDiscoveryContext<T>
java.lang.Object
org.apache.curator.x.discovery.server.contexts.GenericDiscoveryContext<T>
- All Implemented Interfaces:
javax.ws.rs.ext.ContextResolver<DiscoveryContext<T>>,DiscoveryContext<T>
- Direct Known Subclasses:
MapDiscoveryContext
@Provider
public class GenericDiscoveryContext<T>
extends Object
implements DiscoveryContext<T>, javax.ws.rs.ext.ContextResolver<DiscoveryContext<T>>
For convenience, a version of
DiscoveryContext that uses any generic type as the payload-
Constructor Summary
ConstructorsConstructorDescriptionGenericDiscoveryContext(ServiceDiscovery<T> serviceDiscovery, ProviderStrategy<T> providerStrategy, int instanceRefreshMs, com.google.common.reflect.TypeToken<T> payloadType) GenericDiscoveryContext(ServiceDiscovery<T> serviceDiscovery, ProviderStrategy<T> providerStrategy, int instanceRefreshMs, Class<T> payloadType) -
Method Summary
Modifier and TypeMethodDescriptiongetContext(Class<?> type) intReturn the threshold in milliseconds to consider a registration staleReturn the provider strategy to use forDiscoveryResource.getAny(String)Return the service singletonvoidmarshallJson(com.fasterxml.jackson.databind.node.ObjectNode node, String fieldName, T payload) Serialize your payloadunMarshallJson(com.fasterxml.jackson.databind.JsonNode node) Deserialize your payload
-
Constructor Details
-
GenericDiscoveryContext
public GenericDiscoveryContext(ServiceDiscovery<T> serviceDiscovery, ProviderStrategy<T> providerStrategy, int instanceRefreshMs, Class<T> payloadType) -
GenericDiscoveryContext
public GenericDiscoveryContext(ServiceDiscovery<T> serviceDiscovery, ProviderStrategy<T> providerStrategy, int instanceRefreshMs, com.google.common.reflect.TypeToken<T> payloadType)
-
-
Method Details
-
getProviderStrategy
Description copied from interface:DiscoveryContextReturn the provider strategy to use forDiscoveryResource.getAny(String)- Specified by:
getProviderStrategyin interfaceDiscoveryContext<T>- Returns:
- strategy
-
getInstanceRefreshMs
public int getInstanceRefreshMs()Description copied from interface:DiscoveryContextReturn the threshold in milliseconds to consider a registration stale- Specified by:
getInstanceRefreshMsin interfaceDiscoveryContext<T>- Returns:
- number of milliseconds
-
getServiceDiscovery
Description copied from interface:DiscoveryContextReturn the service singleton- Specified by:
getServiceDiscoveryin interfaceDiscoveryContext<T>- Returns:
- service
-
marshallJson
public void marshallJson(com.fasterxml.jackson.databind.node.ObjectNode node, String fieldName, T payload) throws Exception Description copied from interface:DiscoveryContextSerialize your payload- Specified by:
marshallJsonin interfaceDiscoveryContext<T>- Parameters:
node- the node to serialize intofieldName- field name to usepayload- the payload value (can be null)- Throws:
Exception- any errors
-
unMarshallJson
Description copied from interface:DiscoveryContextDeserialize your payload- Specified by:
unMarshallJsonin interfaceDiscoveryContext<T>- Parameters:
node- the node that has the payload- Returns:
- the payload or null
- Throws:
Exception- any errors
-
getContext
- Specified by:
getContextin interfacejavax.ws.rs.ext.ContextResolver<T>
-