Package com.illumon.iris.db.v2.routing
Class DataRoutingServiceFactory
java.lang.Object
com.illumon.iris.db.v2.routing.DataRoutingServiceFactory
Entry point for DataRoutingService access and implementation.
This class encapsulates implementation details and provides system defaults.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DataRoutingServicecreateDefault(com.fishlib.configuration.Configuration configuration) Create a new DataRoutingService of the type indicated by the given Configuration.static DataRoutingServicefromConfiguration(com.fishlib.configuration.Configuration configuration) Create a YAML basedDataRoutingServiceinstance as dictated by the given configuration.static DataRoutingServicefromFilename(String filename) Create a YAML basedDataRoutingServiceinstance from the named file or resource.static DataRoutingServicefromString(String ymlString) Create YAML based aDataRoutingServicefrom an existing yml String.static DataRoutingServicestatic DataRoutingServicestatic WritableDataRoutingServicegetKvEtcdDataRoutingService(com.fishlib.configuration.Configuration configuration) Create a DataRoutingService that connects directly to etcd, according to the given configuration.static WritableDataRoutingServicegetKvEtcdDataRoutingService(com.fishlib.configuration.Configuration configuration, boolean allowParseErrors) Create a DataRoutingService that connects directly to etcd, according to the given configuration.static WritableDataRoutingServiceGet a remote data routing service implementation (this will be grpc).
-
Field Details
-
YAML_IMPLEMENTATION_NAME
- See Also:
-
KV_ETCD_IMPLEMENTATION_NAME
- See Also:
-
KV_INMEM_IMPLEMENTATION_NAME
- See Also:
-
K8S_IMPLEMENTATION_NAME
- See Also:
-
SERVICE_IMPLEMENTATION_NAME
- See Also:
-
YAML_CONFIG_FILENAME_PROP
- See Also:
-
-
Constructor Details
-
DataRoutingServiceFactory
public DataRoutingServiceFactory()
-
-
Method Details
-
getDefault
- Returns:
- the routing service instance defined by the Global configuration instance.
-
createDefault
@VisibleForTesting @NotNull public static DataRoutingService createDefault(@NotNull com.fishlib.configuration.Configuration configuration) Create a new DataRoutingService of the type indicated by the given Configuration.- Parameters:
configuration- the Configuration governing defaults- Returns:
- a new instance of a DataRoutingService implementation
-
getK8sDataRoutingService
-
getRemoteDataRoutingService
Get a remote data routing service implementation (this will be grpc).- Returns:
- a remote implementation of WritableDataRoutingService
-
getKvEtcdDataRoutingService
public static WritableDataRoutingService getKvEtcdDataRoutingService(@NotNull com.fishlib.configuration.Configuration configuration) Create a DataRoutingService that connects directly to etcd, according to the given configuration.- Parameters:
configuration- the configuration to use- Returns:
- a new WritableDataRoutingService instance
-
getKvEtcdDataRoutingService
public static WritableDataRoutingService getKvEtcdDataRoutingService(@NotNull com.fishlib.configuration.Configuration configuration, boolean allowParseErrors) Create a DataRoutingService that connects directly to etcd, according to the given configuration. If allowParseErrors is true, parse errors in the existing data will be ignored. This allows import and export when errors are somehow persisted.- Parameters:
configuration- the configuration to useallowParseErrors- if true, allow errors in the existing routing file- Returns:
- a new WritableDataRoutingService instance
-
fromConfiguration
public static DataRoutingService fromConfiguration(@NotNull com.fishlib.configuration.Configuration configuration) Create a YAML basedDataRoutingServiceinstance as dictated by the given configuration. The configuration will be used to determine a file to parse.- Parameters:
configuration- the configuration to use- Returns:
- a new DataRoutingService
-
fromFilename
Create a YAML basedDataRoutingServiceinstance from the named file or resource. This disambiguates the constructors.- Parameters:
filename- the name of the file to parse- Returns:
- a new DataRoutingService
- Throws:
IOException
-
fromString
Create YAML based aDataRoutingServicefrom an existing yml String. This allows storage and parsing to be independent.- Parameters:
ymlString- the string to parse- Returns:
- a new DataRoutingService
-