package ru.yandex.market.graphouse.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.PropertySource; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.jdbc.core.JdbcTemplate; import ru.yandex.market.graphouse.AutoHideService; import ru.yandex.market.graphouse.monitoring.Monitoring; import ru.yandex.market.graphouse.search.MetricSearch; /** * @author Vlad Vinogradov <a href="mailto:vladvin@yandex-team.ru"></a> on 12.01.17 */ @Configuration @PropertySource(value = "classpath:graphouse-default.properties") @PropertySource( value = { "file:${app.home}/conf/graphouse.properties", "file:${app.home}/conf/local-application.properties", "classpath:local-application.properties" }, ignoreResourceNotFound = true ) @Import({DbConfig.class, MetricsConfig.class, ServerConfig.class}) public class GraphouseConfig { @Autowired private MetricSearch metricSearch; @Autowired private JdbcTemplate clickHouseJdbcTemplate; @Bean public Monitoring monitoring() { return new Monitoring(); } @Bean(initMethod = "startService") public AutoHideService autoHideService() { return new AutoHideService(clickHouseJdbcTemplate, metricSearch); } @Bean public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() { return new PropertySourcesPlaceholderConfigurer(); } }