Package com.illumon.iris.db.v2.routing
Class DataRoutingService.Delegating
java.lang.Object
com.illumon.iris.db.v2.routing.DataRoutingService.Delegating
- All Implemented Interfaces:
DataRoutingService,StorageLookup,EndpointResolver,ClaimsProvider,SafeCloseable,NamedImplementation,AutoCloseable
- Direct Known Subclasses:
DataRoutingServiceCachingImpl,DataRoutingServiceK8sImpl,DataRoutingServiceKvImpl
- Enclosing interface:
- DataRoutingService
public abstract static class DataRoutingService.Delegating
extends Object
implements DataRoutingService
Delegate method calls to an implementation object.
This is designed to be subclassed.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.routing.DataRoutingService
DataRoutingService.DeferredEndpoint, DataRoutingService.Delegating, DataRoutingService.Endpoint, DataRoutingService.EndpointConfig, DataRoutingService.ImmutablePropertyProvider, DataRoutingService.MapPropertyProvider, DataRoutingService.NonListening, DataRoutingService.NotReadyException, DataRoutingService.NullPropertyProvider, DataRoutingService.PropertyProvider -
Field Summary
Fields inherited from interface com.illumon.iris.db.v2.routing.DataRoutingService
DEFAULT_LOCAL_TABLE_DATA_SERVICE, DEFAULT_QUERY_SERVER_TABLE_DATA_SERVICE, DEFAULT_SELECTION_TAG, HOST_TAG, MERGE_QUERY_TDS_TAG, NULL_PROPERTY_PROVIDER, PORT_TAG, QUERY_QUERY_TDS_TAG, SERVICE_REGISTRY_NONE, SERVICE_REGISTRY_SERVICE, TABLE_DATA_PORT_TAG, TABLE_DATA_SERVICE_CONFIG_PROP, TABLE_DATA_SERVICE_CONFIG_PROPS_WITH_LEGACY, TAILER_PORT_TAG, VALIDATE_QUERY_TDS_TAG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Stringabout()Information about a DataRoutingService instance.@NotNull StringSerialize the data routing as a YAML string.voidclose()@NotNull Map<String,DataImportServiceConfig> getAllDataImportServiceConfigs(boolean excludeCoreConfigs) Get all DIS configs, optionally excluding core configs (those defined in the main routing yml file) For consumption by administrative tools.@NotNull Collection<? extends DataImportServiceConfig.EndpointConfig>Get all known DataImportServer destination configs.@NotNull Collection<? extends LogAggregatorConfig>Return all log aggregator configurations.@NotNull CollectedClaimsGet the current claims for this owner (DataRoutingService).@Nullable DataImportServiceConfiggetDataImportServiceConfig(@NotNull String name) Get DIS parameters for this named DIS instance.@NotNull Collection<? extends DataImportServiceConfig.EndpointConfig>getDataImportServiceDestinationConfigs(@NotNull TableIdentifier tableIdentifier) Get DIS destination configs for a table key.protected abstract @NotNull DataRoutingServicegetLogAggregatorConfig(@NotNull String configName) Get configuration for the named log aggregator service instance.getLogAggregatorDestinationConfig(@NotNull TableIdentifier tableIdentifier) Get the single LAS destination configuration for the given table key.@Nullable StorageConfiggetStorage(@Nullable String name) Get the StorageConfig associated with the given name.@Nullable TableDataServiceConfiggetTableDataServiceConfig(@NotNull String name) Information needed to configure a table data service server.@NotNull Collection<? extends TableDataServiceConfig>Get all known table data service configurations.longlisten(@NotNull DataRoutingConfigListener listener) Add a listener for changes to the DataRoutingService configuration.voidregisterClaims(@NotNull DataImportServiceConfig disConfig) Register all claims for the given DataImportServiceConfig.booleanremoveListener(@NotNull DataRoutingConfigListener listener) Remove the given listener from the list of listeners.booleanProbe the implementation to find out if change notification is supported.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.routing.DataRoutingService
authenticate, authenticate, authenticate, getAllDataImportServiceConfigs, getAllDataImportServiceDeferredDestinations, getAllDataImportServiceDestinations, getDataImportServiceConfigWithStorage, getDataImportServiceDeferredDestinations, getDataImportServiceDestinations, getLocalInstance, getLogAggregatorDeferredDestination, getLogAggregatorDestinationMethods inherited from interface com.illumon.iris.db.v2.routing.endpoint.EndpointResolver
resolveLogAggregatorEndpoint, resolveTableDataEndpoint, resolveTailerEndpointMethods inherited from interface com.illumon.util.type.NamedImplementation
getImplementationName
-
Constructor Details
-
Delegating
public Delegating()
-
-
Method Details
-
getDelegate
-
about
Description copied from interface:DataRoutingServiceInformation about a DataRoutingService instance. Useful for debugging.- Specified by:
aboutin interfaceDataRoutingService- Returns:
- a string containing information about the instance
-
getDataImportServiceConfig
@Nullable public @Nullable DataImportServiceConfig getDataImportServiceConfig(@NotNull @NotNull String name) Description copied from interface:DataRoutingServiceGet DIS parameters for this named DIS instance. For consumption by a DIS instance or TableDataService consumer.- Specified by:
getDataImportServiceConfigin interfaceDataRoutingService- Parameters:
name- DIS configuration name- Returns:
- the configuration for the named DIS, or null if it does not exist.
-
getDataImportServiceDestinationConfigs
@NotNull public @NotNull Collection<? extends DataImportServiceConfig.EndpointConfig> getDataImportServiceDestinationConfigs(@NotNull @NotNull TableIdentifier tableIdentifier) Description copied from interface:DataRoutingServiceGet DIS destination configs for a table key. For consumption by a Tailer.- Specified by:
getDataImportServiceDestinationConfigsin interfaceDataRoutingService- Parameters:
tableIdentifier- the identifier of the data to be logged- Returns:
- a possibly empty collection of DIS destinations that should receive data for the given table.
-
getAllDataImportServiceConfigs
@NotNull public @NotNull Map<String,DataImportServiceConfig> getAllDataImportServiceConfigs(boolean excludeCoreConfigs) Description copied from interface:DataRoutingServiceGet all DIS configs, optionally excluding core configs (those defined in the main routing yml file) For consumption by administrative tools.- Specified by:
getAllDataImportServiceConfigsin interfaceDataRoutingService- Parameters:
excludeCoreConfigs- if true, exclude core configs- Returns:
- a possibly empty collection of all/non-core DIS configs
-
getAllDataImportServiceDestinationConfigs
@NotNull public @NotNull Collection<? extends DataImportServiceConfig.EndpointConfig> getAllDataImportServiceDestinationConfigs()Description copied from interface:DataRoutingServiceGet all known DataImportServer destination configs. This includes destination configs with disabled tailer ports. For consumption by a Tailer.- Specified by:
getAllDataImportServiceDestinationConfigsin interfaceDataRoutingService- Returns:
- a possibly null collection of all known DIS destinations.
-
getLogAggregatorConfig
Description copied from interface:DataRoutingServiceGet configuration for the named log aggregator service instance.- Specified by:
getLogAggregatorConfigin interfaceDataRoutingService- Parameters:
configName- the LAS configuration name- Returns:
- the configuration for the named log aggregator, no null if it does not exist
-
getAllLogAggregatorServiceConfigs
@NotNull public @NotNull Collection<? extends LogAggregatorConfig> getAllLogAggregatorServiceConfigs()Description copied from interface:DataRoutingServiceReturn all log aggregator configurations.- Specified by:
getAllLogAggregatorServiceConfigsin interfaceDataRoutingService- Returns:
- a collection of all configured log aggregators.
-
getLogAggregatorDestinationConfig
@Nullable public LogAggregatorConfig.EndpointConfig getLogAggregatorDestinationConfig(@NotNull @NotNull TableIdentifier tableIdentifier) Description copied from interface:DataRoutingServiceGet the single LAS destination configuration for the given table key.- Specified by:
getLogAggregatorDestinationConfigin interfaceDataRoutingService- Parameters:
tableIdentifier- the identifier of the data to be logged- Returns:
- the LogAggregatorEndpoint for the given tableIdentifier, or null if none match the key.
-
getTableDataServiceConfig
@Nullable public @Nullable TableDataServiceConfig getTableDataServiceConfig(@NotNull @NotNull String name) Description copied from interface:DataRoutingServiceInformation needed to configure a table data service server. For use by a TableDataService provider (LocalTableDataServer,TableDataCacheProxy).- Specified by:
getTableDataServiceConfigin interfaceDataRoutingService- Parameters:
name- configuration name- Returns:
- the named TableDataServiceConfig, or null if not found.
-
getTableDataServiceConfigs
Description copied from interface:DataRoutingServiceGet all known table data service configurations. The data includes name description and tags.- Specified by:
getTableDataServiceConfigsin interfaceDataRoutingService- Returns:
- all known TableDataServiceConfigs
-
asYamlString
Description copied from interface:DataRoutingServiceSerialize the data routing as a YAML string. Internal use only.- Specified by:
asYamlStringin interfaceDataRoutingService- Returns:
- YAML representation of the configuration
-
getStorage
Description copied from interface:StorageLookupGet the StorageConfig associated with the given name.- Specified by:
getStoragein interfaceStorageLookup- Parameters:
name- The name of the storage to look up. May be null, in which case null will always be returned.- Returns:
- The storage config, or null if not found
-
getCollectedClaims
Description copied from interface:ClaimsProviderGet the current claims for this owner (DataRoutingService).- Specified by:
getCollectedClaimsin interfaceClaimsProvider- Returns:
- the current CollectedClaims
-
registerClaims
Description copied from interface:ClaimsProviderRegister all claims for the given DataImportServiceConfig.- Specified by:
registerClaimsin interfaceClaimsProvider- Parameters:
disConfig- The DIS config to register
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceSafeCloseable
-
supportsChangeNotification
public boolean supportsChangeNotification()Description copied from interface:DataRoutingServiceProbe the implementation to find out if change notification is supported.- Specified by:
supportsChangeNotificationin interfaceDataRoutingService- Returns:
- true if change notifications are supported.
-
listen
Description copied from interface:DataRoutingServiceAdd a listener for changes to the DataRoutingService configuration.- Specified by:
listenin interfaceDataRoutingService- Parameters:
listener- configuration change notices will be published to this listener- Returns:
- the current configuration version
-
removeListener
Description copied from interface:DataRoutingServiceRemove the given listener from the list of listeners.- Specified by:
removeListenerin interfaceDataRoutingService- Parameters:
listener- the listener to remove- Returns:
- true if a listener was removed, false if it could not be found or could not be removed
-