Class DataRoutingServiceFactory
java.lang.Object
com.illumon.iris.db.v2.configuration.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 String
YAML_CONFIG_FILENAME_PROP
static String
YAML_IMPLEMENTATION_NAME
-
Constructor Summary
Constructors Constructor Description DataRoutingServiceFactory()
-
Method Summary
Modifier and Type Method Description static void
createDataRoutingFile(com.fishlib.configuration.Configuration configuration, byte[] ymldata, String user, String code, String comment)
Create the initial data routing configuration in etcd, using the given data.static DataRoutingService
getDefault()
static DataRoutingService
getK8sDataRoutingService()
static WritableDataRoutingService
getKvEtcdDataRoutingService(com.fishlib.configuration.Configuration configuration)
static WritableDataRoutingService
getRemoteDataRoutingService()
Get a remote data routing service implementation (this will be grpc).static DataRoutingService
getYamlDataRoutingService(com.fishlib.configuration.Configuration configuration)
-
Field Details
-
YAML_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.
-
getYamlDataRoutingService
public static DataRoutingService getYamlDataRoutingService(@NotNull com.fishlib.configuration.Configuration configuration) -
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) -
createDataRoutingFile
public static void createDataRoutingFile(@NotNull com.fishlib.configuration.Configuration configuration, @NotNull byte[] ymldata, String user, String code, String comment)Create the initial data routing configuration in etcd, using the given data. Without an initial data routing configuration, we cannot create a DataRoutingService instance, so the implementation here uses direct access to the KVClient creator.- Parameters:
ymldata
- the new data to updateuser
- the user performing this operationcode
- the code parameter to pass into the kv store apicomment
- a comment for this change
-