Я пишу игру сервер / клиент, типичный сценарий выглядит следующим образом: один клиент (clientA) отправляет сообщение на сервер, на сервере имеется MessageDrivenBean для обработки таких сообщений.После того, как MDB завершил свою работу, он отправляет сообщение с результатом другому клиенту (clientB).
По моему мнению, мне нужны только две очереди для такой связи, одна для ввода, другая для вывода.Создание новой очереди для каждого соединения не очень хорошая идея, верно?Входная очередь относительно чиста: если больше клиентов отправляют сообщение одновременно, сообщения просто ожидают в очереди, в то время как на сервере больше экземпляров MDB, что не должно быть большой проблемой производительности.
Но, с другой стороны, я не совсем уверен насчет очереди вывода, должен ли я использовать тему вместо очереди?Каждый клиент прослушивает выходную очередь, один из них получает новое сообщение и проверяет свойство, чтобы определить, является ли сообщение ему, если нет, он откатывает транзакцию, сообщение возвращается в очередь и готово для другого клиента ... Этодолжен работать, но должен быть очень медленным.Если я использую тему вместо этого, каждый клиент получает копию сообщения, если это не так, просто игнорирует сообщение.Это должно быть лучше, верно?
Я новичок в системе сообщений.Есть ли какие-либо предложения о моей реализации?Спасибо!