package com.juick.api.configuration; import com.juick.api.ApiServer; import com.juick.api.TGBot; import com.juick.server.configuration.BaseWebConfiguration; import org.springframework.context.annotation.*; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import org.springframework.web.socket.client.WebSocketConnectionManager; import org.springframework.web.socket.client.standard.StandardWebSocketClient; import javax.inject.Inject; /** * Created by aalexeev on 11/12/16. */ @Configuration @EnableScheduling @EnableAsync @PropertySource("classpath:juick.conf") @ComponentScan(basePackages = "com.juick.api.controllers") @Import(BaseWebConfiguration.class) public class ApiAppConfiguration extends WebMvcConfigurationSupport { @Inject TGBot tgBot; private static final String WS_URI = "wss://ws.juick.com/"; @Bean public WebSocketConnectionManager connectionManager() { WebSocketConnectionManager manager = new WebSocketConnectionManager(client(), tgBot, WS_URI); manager.setAutoStartup(true); return manager; } @Bean public StandardWebSocketClient client() { return new StandardWebSocketClient(); } @Bean public ApiServer apiServer() { return new ApiServer(); } }