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 String
K8S_IMPLEMENTATION_NAME
static String
KV_ETCD_IMPLEMENTATION_NAME
static String
KV_INMEM_IMPLEMENTATION_NAME
static String
SERVICE_IMPLEMENTATION_NAME
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 DataRoutingService
createDefault(com.fishlib.configuration.Configuration configuration)
Create a new DataRoutingService of the type indicated by the given Configuration.static DataRoutingService
fromConfiguration(com.fishlib.configuration.Configuration configuration)
Create a YAML basedDataRoutingService
instance as dictated by the given configuration.static DataRoutingService
fromFilename(String filename)
Create a YAML basedDataRoutingService
instance from the named file or resource.static DataRoutingService
fromString(String ymlString)
Create YAML based aDataRoutingService
from an existing yml String.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).
-
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 basedDataRoutingService
instance 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 basedDataRoutingService
instance 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 aDataRoutingService
from an existing yml String. This allows storage and parsing to be independent.- Parameters:
ymlString
- the string to parse- Returns:
- a new DataRoutingService
-