Ошибка MQ 3155 с приложением .NET [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Ошибка MQ 3155 с приложением .NET [закрыто]

Сообщение Anonymous »

Я работаю над интеграцией IBM MQ с помощью клиента .NET XMS (

Код: Выделить всё

IBM.XMS.dll
) Версия 9.4 на Windows Server 2019. Я сталкиваюсь с проблемой блокировки, связанной с прочными подписками о темах.
setup

[*] 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>
in prepareConnection () < /code>
Настройка всех конфигурации MQ, как канал порта MQ Manager, добавлена вся связанная информация < /p>
ConnectAndPrepareSession()< /code>
Настройка уникального идентификатора клиента и режима подключения. < /p>
В методе CreateSessionAndSpearedEstination () < /code>
Создание сеанса с объектом подключения. Пропустить параметры false, AutoackNowlege < /p>
В методе. /> В методе CreateConsumer
Создание потребителя с объектом сеанса, вызывая метод
ConatureRabliveBsCriber () Передача параметров назначения и уникальное имя подписки.
Примечание: если подписка не доступна на сервере>

Подробнее здесь: https://stackoverflow.com/questions/797 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»