2014-03-13 105 views
1

我有一個應用程序,它使用了許多tomcats。它也使用websockets。 每個tomcat保存在userSessionRegistry有關連接用戶的一些信息。 但是,如果用戶來到tomcat A,其他tomcat B,C,D ..不知道tomcat A的連接用戶及其唯一隊列名稱。當我嘗試做這樣的事情:春季websocket多個tomcat服務器

messageTemplate.converAndSendToUser(userNameConnectedToTomcatA, ...) 

從tomacats B,C,D它不會發送。

任何想法?

回答

2

這可以通過實現UserSessionRegistry來實現。請參閱DefaultUserDestinationResolver,它非常簡單並將數據保存在內存中。它可以用Redis之類的東西替代,以便分發。

這是我想到的東西。你可以在JIRA中打開一個請求,以便我們跟蹤它嗎?另外如果你願意嘗試去做,我會幫你解決的。

+0

是否可以通過xml配置DefaultUserDestinationResolver?我使用版本4.0.2 –

+0

是的,請參閱http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/mvc.html#mvc-config-advanced-xml。儘管它是針對Spring MVC命名空間的,但這個想法完全一樣。 –