diff options
Diffstat (limited to 'juick-api/src/main/java/com/juick/api')
-rw-r--r-- | juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java | 22 | ||||
-rw-r--r-- | juick-api/src/main/java/com/juick/api/configuration/ApiInitializer.java | 5 |
2 files changed, 24 insertions, 3 deletions
diff --git a/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java b/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java index 388fda676..a475ca6f5 100644 --- a/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java +++ b/juick-api/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java @@ -21,10 +21,15 @@ import com.juick.api.ApiServer; import com.juick.server.component.JuickServerComponent; import com.juick.server.component.JuickServerReconnectManager; import com.juick.server.configuration.BaseWebConfiguration; +import com.juick.service.UserService; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.*; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.socket.client.WebSocketConnectionManager; +import org.springframework.web.socket.client.standard.StandardWebSocketClient; +import org.springframework.web.util.UriComponentsBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; @@ -32,6 +37,7 @@ import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import javax.inject.Inject; import java.util.Collections; /** @@ -44,6 +50,12 @@ import java.util.Collections; @PropertySource("classpath:juick.conf") @ComponentScan(basePackages = "com.juick") public class ApiAppConfiguration extends BaseWebConfiguration { + @Inject + UserService userService; + @Value("${api_user:juick}") + private String serviceUser; + @Value("${websocket_url:ws://localhost:8080/}") + private String baseUri; @Lazy @Bean public JuickServerComponent juickServerComponent() { @@ -55,6 +67,16 @@ public class ApiAppConfiguration extends BaseWebConfiguration { return new JuickServerReconnectManager(); } @Bean + public WebSocketConnectionManager connectionManager() { + String websocketURI = UriComponentsBuilder.fromUriString(baseUri) + .queryParam("hash", userService.getHashByUID(userService.getUIDbyName(serviceUser))).build().toUriString(); + return new WebSocketConnectionManager(client(), juickServerComponent(), websocketURI); + } + @Bean + public StandardWebSocketClient client() { + return new StandardWebSocketClient(); + } + @Bean public ApiServer apiServer() { return new ApiServer(); } diff --git a/juick-api/src/main/java/com/juick/api/configuration/ApiInitializer.java b/juick-api/src/main/java/com/juick/api/configuration/ApiInitializer.java index edda931bd..8f35e3f7e 100644 --- a/juick-api/src/main/java/com/juick/api/configuration/ApiInitializer.java +++ b/juick-api/src/main/java/com/juick/api/configuration/ApiInitializer.java @@ -18,7 +18,7 @@ package com.juick.api.configuration; import com.juick.configuration.DataConfiguration; -import com.juick.server.configuration.JuickServerComponentConfiguration; +import com.juick.server.configuration.JuickServerWebsocketConfiguration; import com.juick.server.configuration.StorageConfiguration; import org.apache.commons.codec.CharEncoding; import org.springframework.web.filter.CharacterEncodingFilter; @@ -37,8 +37,7 @@ public class ApiInitializer extends AbstractAnnotationConfigDispatcherServletIni return new Class<?>[]{ ApiSecurityConfig.class, DataConfiguration.class, - StorageConfiguration.class, - JuickServerComponentConfiguration.class + StorageConfiguration.class }; } |