Вы можете обмениваться вызовами close и dispose или просто использовать close и позволить вызову среды выполнения .NET, хотя на самом деле мало что происходит, когда закрытый ресурс располагается в клиенте NMS.
Вы можете закрыть экземпляр Connection, и все его клиентские ресурсы будут закрыты неявно, поэтому вам не нужно будет управлять ими микро. Поскольку вы заявляете, что вам нужно перейти к прослушиванию в другой очереди, вам нужно закрыть экземпляр-получатель и создать новый. В этом случае вам не нужно закрывать Сессию или Соединение, так как вы просто развернетесь и создадите новое Соединение и, таким образом, новый Сеанс для управления новым MessageConsumer, который вы затем создадите. Однако, если вы хотите остановить доставку только на некоторое время, простая остановка / запуск соединения может сделать это.
Все зависит от количества смартов, которые вы хотите использовать в своем приложении. Создание и закрытие соединений значительно снижают производительность, поэтому, если вы сможете управлять им, то ваше приложение будет для нас тем лучше, что не нужно будет его разламывать и перестраивать без необходимости.