Package com.illumon.iris.db.v2.routing
Class DataRoutingServiceFactory
java.lang.Object
com.illumon.iris.db.v2.routing.DataRoutingServiceFactory
public class DataRoutingServiceFactory extends Object
Entry point for DataRoutingService access and implementation.
This class encapsulates implementation details and provides system defaults.
-
Field Summary
Fields Modifier and Type Field Description static StringK8S_IMPLEMENTATION_NAMEstatic StringKV_ETCD_IMPLEMENTATION_NAMEstatic StringKV_INMEM_IMPLEMENTATION_NAMEstatic StringSERVICE_IMPLEMENTATION_NAMEstatic StringYAML_CONFIG_FILENAME_PROPstatic StringYAML_IMPLEMENTATION_NAME -
Constructor Summary
Constructors Constructor Description DataRoutingServiceFactory() -
Method Summary
Modifier and Type Method Description static 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 DataRoutingServicegetDefault()static DataRoutingServicegetK8sDataRoutingService()static WritableDataRoutingServicegetKvEtcdDataRoutingService(com.fishlib.configuration.Configuration configuration)static WritableDataRoutingServicegetRemoteDataRoutingService()Get a remote data routing service implementation (this will be grpc).
-
Field Details
-
YAML_IMPLEMENTATION_NAME
- See Also:
- Constant Field Values
-
KV_ETCD_IMPLEMENTATION_NAME
- See Also:
- Constant Field Values
-
KV_INMEM_IMPLEMENTATION_NAME
- See Also:
- Constant Field Values
-
K8S_IMPLEMENTATION_NAME
- See Also:
- Constant Field Values
-
SERVICE_IMPLEMENTATION_NAME
- See Also:
- Constant Field Values
-
YAML_CONFIG_FILENAME_PROP
- See Also:
- Constant Field Values
-
-
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) -
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
-