2014-03-13 90 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命名空间的,但这个想法完全一样。 –