Code: Select all
IBM.XMS.dll
[*] Verbindungsmodus: WMQ_CM_CLIENT_UNMANAGED
Abonnements: Aus dem Anwendungscode erstellt, nicht durch MQ -Administratoren. />
MQRC 3155: Abonnementname in Verwendung < /p>
< /blockquote>
Ich verwende bereits denselben ClientID, Abonnementname und Thema. Erstellungssubscriber () und Logik, um erneut nachzuschaffen, ob bereits vorhanden ist-schlägt immer noch 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>
Über Code mit asynchronem Anruf für jedes Abonnement mit 4 Abonnements
und mit demselben Service mit unterschiedlichem Namen, der 2 Abonnementnamen unterschiedlich Name ist, aber Client -ID gleich. Unten < /p>
In der Vorbereitung ()
Einstellen aller MQ -Konfigurationen wie MQ Manager -Port -Portanal. Falsch, autoacknowlege < /p>
In der Methode erstellte undprepareconsumer ()
Erstellen des Themas mit Sitzungsobjekt durch Übergabe eines einzigartigen Themennamens
In der createConsumer -Methode
Erstellen des Verbrauchers mit dem Sitzungsobjekt, das ein einzigartiges Abonnement -Abonnement erstellt und ein einzigartiges Abonnement -Abonnement -Note und -Anness -Abonnement -Note und -abonnement -Note erstellt. und Nachrichten wurden empfangen, aber fälliges Server neu gestartet oder von MQ Server Rollen -Swap Happing Wir haben einen Fehler mit 3155.