private Result processUnitConditionForUnitService()

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);

    }