@Override
    public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
        final CompositePropertySource compositePropertySource = new CompositePropertySource(
                DynamicConstants.PROPERTY_NAME);
        compositePropertySource
                .addPropertySource(new DynamicConfigPropertySource(DynamicConstants.PROPERTY_NAME));
        tryAddDisableConfigSource(compositePropertySource);
        environment.getPropertySources().addFirst(compositePropertySource);
    }
@Test
    public void locate() throws InterruptedException {
        final SpringEnvironmentProcessor springEnvironmentProcessor = new SpringEnvironmentProcessor();
        final MockEnvironment mockEnvironment = new MockEnvironment();
        springEnvironmentProcessor.postProcessEnvironment(mockEnvironment, null);
        final PropertySource<?> source = mockEnvironment.getPropertySources().get("Sermant-Dynamic-Config");
        Assert.assertNotNull(source);
        // Note the configSource injection test is performed. The spi file is viewed and sorted in the specified order
        ConfigHolder.INSTANCE.resolve(event);
        // Because this is an asynchronous execution, it waits for the asynchronous execution to complete
        Thread.sleep(1000);
        Assert.assertEquals(mockEnvironment.getProperty(KEY), VALUE);
    }