@Override
    @TpsControl(pointName = "ConfigQuery")
    @Secured(action = ActionTypes.READ, signType = SignType.CONFIG)
    @ExtractorManager.Extractor(rpcExtractor = ConfigRequestParamExtractor.class)
    public ConfigQueryResponse handle(ConfigQueryRequest request, RequestMeta meta) throws NacosException {
        
        try {
            return getContext(request, meta, request.isNotify());
        } catch (Exception e) {
            return ConfigQueryResponse.buildFailResponse(ResponseCode.FAIL.getCode(), e.getMessage());
        }
        
    }
@Test
    void testGetConfigNotExistAndConflict() throws Exception {
        
        String dataId = "dataId" + System.currentTimeMillis();
        String group = "group" + System.currentTimeMillis();
        String tenant = "tenant" + System.currentTimeMillis();
        //test config not exist
        configCacheServiceMockedStatic.when(() -> ConfigCacheService.tryConfigReadLock(GroupKey2.getKey(dataId, group, tenant)))
                .thenReturn(0);
        final String groupKey = GroupKey2.getKey(dataId, group, tenant);
        when(ConfigCacheService.getContentCache(eq(groupKey))).thenReturn(null);
        
        ConfigQueryRequest configQueryRequest = new ConfigQueryRequest();
        configQueryRequest.setDataId(dataId);
        configQueryRequest.setGroup(group);
        configQueryRequest.setTenant(tenant);
        RequestMeta requestMeta = new RequestMeta();
        requestMeta.setClientIp("127.0.0.1");
        
        ConfigQueryResponse response = configQueryRequestHandler.handle(configQueryRequest, requestMeta);
        assertEquals(CONFIG_NOT_FOUND, response.getErrorCode());
        assertNull(response.getContent());
        assertNull(response.getMd5());
        assertFalse(response.isBeta());
        assertNull(response.getTag());
        
        //test config conflict
        when(ConfigCacheService.getContentCache(eq(groupKey))).thenReturn(new CacheItem(groupKey));
        configCacheServiceMockedStatic.when(() -> ConfigCacheService.tryConfigReadLock(GroupKey2.getKey(dataId, group, tenant)))
                .thenReturn(-1);
        ConfigQueryResponse responseConflict = configQueryRequestHandler.handle(configQueryRequest, requestMeta);
        assertEquals(ConfigQueryResponse.CONFIG_QUERY_CONFLICT, responseConflict.getErrorCode());
        assertNull(responseConflict.getContent());
        assertNull(responseConflict.getMd5());
        assertFalse(responseConflict.isBeta());
        assertNull(responseConflict.getTag());
        
    }