Распределенные приложения на основе MS Message Queue Server


         

Последний входной параметр blnIsQueForExchToMQ информирует


Последний входной параметр blnIsQueForExchToMQ информирует MSMQ о типе очереди: обычная или предназначенная для связи с Microsoft Exchange (по умолчанию обычная).

Sub CreateMQPublQue (strQueLbl As String, Optional strMachineName As String = “.”, _
Optional blnIsQueForExchToMQ As Boolean)

Начинаем с того, что создаем новый объект MSMQQueueInfo и получаем ссылку на него в переменную qinfo. MSMQQueueInfo является одним из компонентов ActiveX-интерфейса MSMQ, который играет по отношению к очереди примерно такую же роль, как file handle по отношению к файлу.

Dim qinfo As New MSMQQueueInfo

Задаем основные свойства новой очереди, которые были охарактеризованы выше: путь, метку и т.д. По умолчанию очередь будет относиться к локальному компьютеру, так как strMachineName=”.”. Метка очереди в нашем случае будет автоматически являться ее именем.

qinfo.PathName = strMachineName & “\” & strQueLbl
qinfo.Label = strQueLbl

Идентификатор типа очереди (ServiceTypeGuid) требуется в тех ситуациях, когда необходимо в явной форме указать MSMQ, что данная очередь будет содержать сообщения, требующие особого вида обработки, например используется провайдером транспорта MAPI. В нашем случае, если мы хотим, чтобы эта очередь предназначалась для приема почты от MS Exchange Server, то идентификатор типа должен быть равен {5EADC0D0-7182-11CF-A8FF-0020AFB8FB50}. Именно это значение содержит константа MSMQMAIL_SERVICE_MAIL.

If blnIsQueForExchToMQ Then
qinfo.ServiceTypeGuid = MSMQMAIL_SERVICE_MAIL
End If
On Error GoTo ErrHandler

После того как все необходимые свойства заданы, нам остается собственно ее создать, что мы и сделаем вызовом метода Create объекта MSMQQueueInfo.

qinfo.Create
Exit Sub
ErrHandler:
MsgBox “Не могу создать очередь. Ошибка: “ & Str$(Err.Number) & vbNewLine & “По причине: “ & Err.Description
End Sub

Давайте испытаем ее в действии: вставим в Sub Main() вызов

CreateMQPublQue “FromExchToMQ”, , True

запустим Message Queue Explorer (если он запущен, просто нажмем на кнопку Refresh) и посмотрим, что произошло в информационном хранилище (рис. 2):


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий