package com.juick.components.configuration; import com.juick.components.Notifications; import com.juick.configuration.DataConfiguration; 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.core.env.Environment; import org.springframework.web.client.RestTemplate; import javax.inject.Inject; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * Created by aalexeev on 11/12/16. */ @Configuration @PropertySource("classpath:juick.conf") @Import(DataConfiguration.class) public class NotificationsAppConfiguration { @Inject private Environment env; @Bean public RestTemplate rest() { return new RestTemplate(); } @Bean public Notifications push() { return new Notifications(env, service(), rest()); } @Bean public ExecutorService service() { return Executors.newCachedThreadPool(); } }