Код: Выделить всё
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 ()
ConnectAnd Configururation и режим подключения. < /p>
В методе reatesessionAndPrepRearedEstination ()
Создание сеанса с объектом соединения прохождение параметров false, autoacknowlege < /p>
В методе созданный инициатор Метод
cenectureUparabliveBsCriber () Передача параметров назначения и уникальное имя подписки.
Примечание. Если подписка не доступна на сервере END, он успешно создает, и сообщения начали получать, но с помощью сервера перезагружается или от MQ Sever Swap.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... pplication
Мобильная версия