package com.juick.components.configuration; import com.juick.components.CleanUp; import com.juick.components.Notifications; import com.juick.server.component.JuickServerComponent; import com.juick.server.component.JuickServerReconnectManager; import com.juick.server.configuration.BaseWebConfiguration; import com.juick.server.configuration.JuickServerComponentConfiguration; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.*; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.http.client.InterceptingClientHttpRequestFactory; import org.springframework.http.client.support.BasicAuthorizationInterceptor; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.client.RestTemplate; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import java.util.Collections; import java.util.List; /** * Created by aalexeev on 11/12/16. */ @Configuration @EnableWebMvc @EnableScheduling @PropertySource("classpath:juick.conf") @ComponentScan(basePackages = "com.juick.components.service") @Import({ APNSConfiguration.class, MPNSConfiguration.class, GCMConfiguration.class, JuickServerComponentConfiguration.class}) public class NotificationsAppConfiguration extends BaseWebConfiguration { @Bean public JuickServerComponent juickServerComponent() { return new JuickServerComponent(); } @Bean public JuickServerReconnectManager juickServerReconnectManager() { return new JuickServerReconnectManager(); } @Bean public Notifications push() { return new Notifications(); } @Bean public CleanUp cleanUp() { return new CleanUp(); } }