Package org.chenile.core.model
Class TrajectoryDefinition
java.lang.Object
org.chenile.core.model.TrajectoryDefinition
The trajectory definition details. Trajectories allow experimentation. They may also serve
other purposes like overriding services for certain geographies, tenants etc. These overrides
customize the services for a specific set of users. Trajectories are highly modular. A new
trajectory can be defined/used in a new module. Once the module is removed, the trajectory
vanishes from Chenile!
A trajectory can also be an experimental (A-B test) path that provides selected users with alternate services. These paths may invoke experimental services. Loggers will log the trajectories. This will allow us to determine if the experimental services are more effective than the actual services.
Even health checks can be customized for a particular trajectory
-
Field Summary
Modifier and TypeFieldDescriptionprivate String
private Map<String,
TrajectoryOverride> a map between the service name and the service reference to use for this trajectory. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetHealthCheckerReference
(String serviceId) getHealthCheckerReferenceId
(String serviceId) getId()
getServiceReference
(String serviceId) getServiceReferenceId
(String serviceId) void
merge
(TrajectoryDefinition trajectoryDefinition) void
void
setTrajectoryOverrides
(Map<String, TrajectoryOverride> trajectoryOverrides)
-
Field Details
-
id
-
trajectoryOverrides
a map between the service name and the service reference to use for this trajectory. This effects only those services that are configured. Other services will stay unaffected.
-
-
Constructor Details
-
TrajectoryDefinition
public TrajectoryDefinition()
-
-
Method Details
-
setTrajectoryOverrides
-
setId
-
getId
-
merge
-
getServiceReference
-
getHealthCheckerReference
-
getServiceReferenceId
-
getHealthCheckerReferenceId
-
getTrajectoryOverrides
-