diff options
Diffstat (limited to 'src/main/java/com/juick/ws/configuration')
-rw-r--r-- | src/main/java/com/juick/ws/configuration/WebsocketConfiguration.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/com/juick/ws/configuration/WebsocketConfiguration.java b/src/main/java/com/juick/ws/configuration/WebsocketConfiguration.java index 63ff12cb..27bfcf36 100644 --- a/src/main/java/com/juick/ws/configuration/WebsocketConfiguration.java +++ b/src/main/java/com/juick/ws/configuration/WebsocketConfiguration.java @@ -2,6 +2,7 @@ package com.juick.ws.configuration; import com.juick.ws.WebsocketComponent; import com.juick.ws.XMPPConnection; +import org.springframework.beans.factory.DisposableBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -17,6 +18,8 @@ import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; import javax.inject.Inject; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * Created by vitalyster on 28.06.2016. @@ -41,8 +44,25 @@ public class WebsocketConfiguration extends WebMvcConfigurerAdapter implements W dataSource.setUrl(env.getProperty("datasource_url")); return new JdbcTemplate(dataSource); } + @Bean + ExecutorService xmppThreadService() { + return Executors.newSingleThreadExecutor(); + } + @Bean + DestroyBean destroyBean() { + return new DestroyBean(); + } @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(wsHandler(), "/**"); } + class DestroyBean implements DisposableBean { + + @Inject + ExecutorService xmppThreadService; + @Override + public void destroy() throws Exception { + xmppThreadService.shutdownNow(); + } + } } |