@Bean
    public TimerRegistry timerRegistry(
            TimerConfigurationProperties timerConfigurationProperties,
            EventConsumerRegistry<TimerEvent> timerEventConsumerRegistry,
            RegistryEventConsumer<Timer> timerRegistryEventConsumer,
            @Qualifier("compositeTimerCustomizer") CompositeCustomizer<TimerConfigCustomizer> compositeTimerCustomizer,
            @Autowired(required = false) MeterRegistry registry
    ) {
        TimerRegistry timerRegistry = createTimerRegistry(timerConfigurationProperties, timerRegistryEventConsumer, compositeTimerCustomizer, registry);
        registerEventConsumer(timerRegistry, timerEventConsumerRegistry, timerConfigurationProperties);
        initTimerRegistry(timerRegistry, timerConfigurationProperties, compositeTimerCustomizer);
        return timerRegistry;
    }
@Test
    public void shouldNotConfigureInstanceUsingUnknownSharedConfig() {
        InstanceProperties instanceProperties = new InstanceProperties()
                .setBaseConfig("unknown");
        TimerConfigurationProperties configurationProperties = new TimerConfigurationProperties();
        configurationProperties.getInstances().put("backend", instanceProperties);
        TimerConfiguration configuration = new TimerConfiguration();

        assertThatThrownBy(() -> configuration.timerRegistry(
                configurationProperties, new DefaultEventConsumerRegistry<>(), new CompositeRegistryEventConsumer<>(emptyList()), new CompositeCustomizer<>(emptyList()), new SimpleMeterRegistry()
        ))
                .isInstanceOf(ConfigurationNotFoundException.class)
                .hasMessage("Configuration with name 'unknown' does not exist");
    }