2015-03-10 4 views
1

Весна добавит sessionid в очередь назначения для внешнего брокера сообщений, такого как RabbitMQ. Я заметил, что этот sessionId для имени пользователя извлекается из DefaultUserSessionRegistry -> userSessionIds.spring socket convertandsendtouser с внешним брокером сообщений (RabbitMQ) в среде кластера

Будет ли это работать в среде кластера? Если он не извлекается из DefaultUserSessionRegistry, где хранится это сопоставление?

ответ

1

Вы правы, в кластерной среде это может не работать в настоящий момент.

Возможно, вы захотите отследить the SPR-11620 issue, предназначенный для Spring Framework 4.2.

+0

Можем ли мы избежать этой проблемы, заставив каждого пользователя подписаться на его собственную очередь, например,/topic/notification-username, где имя пользователя является уникальным для пользователя. И на стороне отправки используйте convertandsend вместо convertandsendtouser, чтобы сообщение дошло до одного пользователя и мы избегаем необходимости в UserSessionRegistry. Это хорошее решение? – user3454502

+0

вопрос теперь завершен и доступен мастеру; вы пробовали с 4.2.0.BUILD-SNAPSHOT? Он доступен здесь: http://repo.spring.io/libs-snapshot/. –