in appactive-java-client/client-bridge/client-bridge-rpc-apache-dubbo/client-bridge-rpc-apache-dubbo2/src/main/java/io/appactive/rpc/apache/dubbo2/provider/ProviderProtectFilter.java [120:142]
private Result processUnitConditionForUnitService(Invocation invocation, ProviderModel providerModel) {
ServiceMetadata serviceMetadata = providerModel.getServiceMetadata();
String serviceUniqueName = serviceMetadata.getServiceKey();
String methodName = invocation.getMethodName();
String clientIp = RpcContext.getContext().getRemoteHost();
String routeId = getRouteId(providerModel, invocation);
if (StringUtils.isBlank(routeId)) {
String errorMsg = MessageFormat.format(
"[Dubbo-Provider-{0}] The request for [{1}] [{2}] from [{3}] is " +
"rejected by UnitRule Protection, because unit id is empty",
CURRENT_IP, serviceUniqueName, methodName, clientIp);
LogUtil.error(errorMsg);
}
if (trafficMachineService.isInCurrentUnit(routeId)) {
AppContextClient.setUnitContext(routeId);
return null;
}
return doNotInCurrentUnit(clientIp, serviceUniqueName, methodName, routeId,
invocation);
}