public static SortedMap<String, String> filterDubboProperties(ConfigurableEnvironment environment) {

        SortedMap<String, String> dubboProperties = new TreeMap<>();

        Map<String, Object> properties = extractProperties(environment);

        for (Map.Entry<String, Object> entry : properties.entrySet()) {
            String propertyName = entry.getKey();

            if (propertyName.startsWith(DUBBO_PREFIX + PROPERTY_NAME_SEPARATOR) && entry.getValue() != null) {
                dubboProperties.put(
                        propertyName,
                        environment.resolvePlaceholders(entry.getValue().toString()));
            }
        }

        return Collections.unmodifiableSortedMap(dubboProperties);
    }
@Test
    void testFilterDubboProperties() {

        MockEnvironment environment = new MockEnvironment();
        environment.setProperty("message", "Hello,World");
        environment.setProperty("dubbo.registry.address", "zookeeper://10.10.10.1:2181");
        environment.setProperty("dubbo.consumer.check", "false");

        SortedMap<String, String> dubboProperties = filterDubboProperties(environment);

        Assertions.assertEquals(2, dubboProperties.size());
        Assertions.assertEquals("zookeeper://10.10.10.1:2181", dubboProperties.get("dubbo.registry.address"));
        Assertions.assertEquals("false", dubboProperties.get("dubbo.consumer.check"));
    }