this.propertyOverrideProvider = propertyOverrideProvider;
}
public LimiterStrategyConclusion callNextChainedLimiterStrategy(String methodGroup, UUID invocationUUID, Object[] args) {
LimiterStrategy nextLimiterStrategy = getNextLimiterStrategy();
// if there are no more strategies in the chain, return false
if (nextLimiterStrategy == null) {
return new LimiterStrategyConclusion(false);
}
// call the next strategy in chain
LimiterStrategyConclusion nextLimiterStrategyConclusion = nextLimiterStrategy.hasLimitBeenExceededChain(methodGroup, invocationUUID, args);
// if the next strategy return true, rollback, the user method will not be invoked
if (nextLimiterStrategyConclusion.getHasLimitBeenExceeded()) {
rollback(methodGroup, invocationUUID, args);
}