@GetMapping("/meta/delete")
    public Mono<String> clean(@RequestParam("id") final String id,
                              @RequestParam("rpcType") final String rpcType,
                              @RequestParam("path") final String path) {
        if (CollectionUtils.isEmpty(subscribers)) {
            return Mono.just(Constants.SUCCESS);
        }
        LOG.info("delete apache shenyu local meta data");
        MetaData metaData = MetaData.builder().id(id).rpcType(rpcType).path(path).build();
        subscribers.forEach(metaDataSubscriber -> metaDataSubscriber.unSubscribe(metaData));
        return Mono.just(Constants.SUCCESS);
    }
@Test
    public void testClean() throws Exception {
        final MockHttpServletResponse response = this.mockMvc.perform(MockMvcRequestBuilders.get("/shenyu/meta/delete")
                        .contentType(MediaType.APPLICATION_JSON)
                        .param("id", "id")
                        .param("path", "path")
                        .param("rpcType", "rpcType"))
                .andReturn().getResponse();
        assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
        MetaData metaData = new MetaData();
        metaData.setId("id");
        metaData.setPath("path");
        metaData.setRpcType("rpcType");
        subscribers.forEach(subscriber -> verify(subscriber).unSubscribe(metaData));
        final MockHttpServletResponse subNullResponse = this.mockMvcSubscribersNull.perform(MockMvcRequestBuilders.get("/shenyu/meta/delete")
                .contentType(MediaType.APPLICATION_JSON)
                .param("id", "id")
                .param("path", "path")
                .param("rpcType", "rpcType"))
                .andReturn().getResponse();
        assertThat(subNullResponse.getStatus()).isEqualTo(HttpStatus.OK.value());
    }