Подключение к MQ с использованием XMS .Net без MQ-клиента

Я пытаюсь подключиться к MQ с помощью XMS .Net. В настоящее время MQ настроен на сервере, и с помощью IBM.WMQ я могу подключиться к нему. Теперь я хочу изучить IBM XMS, поскольку он поддерживает API, поэтому в будущем мы можем попытаться подключиться к MQ из полнофункциональных клиентов.net или основных клиентов.net.

Провел 2 дня в Интернете, но не смог найти полный образец, где это реализовано. Я также не хочу устанавливать клиент MQ на мою локальную машину. Есть ли способ сделать это? Есть ли хорошие статьи для того же?

1 ответ

Следующая ссылка содержит обзор XMS.NET http://www-01.ibm.com/support/docview.wss?uid=swg27024064

Распространяемый пакет IBM MQ можно использовать для разработки приложений MQ .NET без установки клиента. Чтобы использовать клиент XMS.NET, вам придется использовать MQ v9.0.5 или выше. Вы можете скачать последний распространяемый пакет по следующей ссылке

9.1.0 IBM MQ C и распространяемый клиент.NET для Windows x64

Если у вас установлен клиент MQ, то примеры находятся по адресу "MQ_INSTALL_PATH\Tools\dotnet\samples\cs\xms\simple\wmq", а следующая ссылка дает краткое описание примеров https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.xms.doc/xms_csamp.html Ниже приведен пример кода для асинхронного получения сообщения с использованием прослушивателей сообщений.

 /// <summary>
            /// Setup connection to MQ queue manager using XMS .NET
            /// </summary>
            private void ibmmqSetupConnection()
            {
                XMSFactoryFactory factoryFactory;
                IConnectionFactory cf;
                IDestination destination;
                IMessageConsumer consumerAsync;
                MessageListener messageListener;
                // Get an instance of factory.
                factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);

                // Create WMQ Connection Factory.
                cf = factoryFactory.CreateConnectionFactory();

                // Set the properties
                cf.SetStringProperty(XMSC.WMQ_HOST_NAME, "host.ibm.com");
                cf.SetIntProperty(XMSC.WMQ_PORT, 1414);
                cf.SetStringProperty(XMSC.WMQ_CHANNEL, "QM.SVRCONN");
                cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
                cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "QM1");
                cf.SetStringProperty(XMSC.USERID, "myuserid");
                cf.SetStringProperty(XMSC.PASSWORD, "passw0rd");

                // Create connection.
                connectionWMQ = cf.CreateConnection();
                // Create session with client acknowledge so that we can acknowledge 
                // only if message is sent to Azure Service Bus queue
                sessionWMQ = connectionWMQ.CreateSession(false, AcknowledgeMode.ClientAcknowledge);
                // Create destination
                destination = sessionWMQ.CreateQueue("INPUTQ");
                // Create consumer
                consumerAsync = sessionWMQ.CreateConsumer(destination);

                // Setup a message listener and assign it to consumer
                messageListener = new MessageListener(OnMessageCallback);
                consumerAsync.MessageListener = messageListener;

                // Start the connection to receive messages.
                connectionWMQ.Start();

                // Wait for messages till a key is pressed by user
                Console.ReadKey();

                // Cleanup
                consumerAsync.Close();
                destination.Dispose();
                sessionWMQ.Dispose();
                connectionWMQ.Close();
            }
Другие вопросы по тегам