Код: Выделить всё
IBM.XMS.dllsetup
[*] IBM MQ Client: 9.4
[*] платформа: Windows Server 2019 [*]
Режим подключения: WMQ_CM_CLIENT_UNMANAGED
Подписки: Созданы из кода приложения, а не MQ Admin. />
mqrc 3155: Имя подписки используется < /p>
< /blockquote>
Я уже использую одну и ту же клиенту, подписку и тема. CreatementUrabliveBscriber () и логика, чтобы избежать воссоздания, если уже существует-все еще нажимая 3155.
кодовый фрагмент
try
{
messageDetails.MessageConsumer = new MessageConsumer(new MqClient(), messageDetails.KeysPrefixForMessageKind);
using (messageDetails. MessageConsumer)
{
messageDetails.MessageConsumer
.PrepareConnection()
.ConnectAndPrepareSession()
.CreateSessionAnd PrepareDestination()
.CreateDestinationAnd PrepareConsumer()
.CreateConsumer()
.StartReceivingMessage();
}
}
catch (XMSException xex)
{
Logger.ConnectionLog. Error(xex.Message, xex);
if (xex.LinkedException != null && xex.LinkedException. ToString() == "3156")
{
Thread.Sleep(TimeSpan.FromSeconds(120));
}
}
catch (Exception ex)
{
Logger.ConnectionLog. Error(ex.Message, ex);
Stop();
Thread.Sleep(TimeSpan.FromSeconds(60));
}
< /code>
выше код с асинхронным вызовом для каждой подписки, имеющей 4 подписки
, и имеет одинаковую службу с различным именем, которое имеет 2 имя подписки, но идентификатор клиента, то же самое. Описание приведено ниже < /p>
В prepareConnection ()
Настройка всей конфигурации MQ, как канал порта MQ Manager, все связанная информация добавлена < /p>
ConnectAndPrepresession ()
Уникальный идентификатор клиента и режим подключения. < /p>
. false, AutoAckNowlege < /p>
В методе CreateStinationAndingAndPreeConsumer ()
Создание темы с объектом сеанса путем передачи уникального имени темы
в методе CreateConsumer
Создание потребителя с помощью объекта сеанса с помощью метода
creatementUbrableBscriber (). Назначение. и сообщения начали получать получение, но срок службы перезагрузился или от роли MQ Server Swap.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... pplication
Мобильная версия