忍者ブログ
2009/12/12作成
WebSphere MQ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

MQサーバーとの疎通サンプル作成手順
○前提
準備として、下のいずれかのユーザーを用意する。
①グループ「mqm」に所属するユーザー
②グループ「Administrators」に所属するローカルユーザー

ActiveDirectoryで管理されているドメインユーザーの場合、
①のユーザーを使用するには、ドメインユーザーの設定を修正する必要がある。
ただしActiveDirectoryを導入しているのは、規模の大きな会社なので、
変更するための承認フローが存在するはず。
承認には運用上の理由が必要となり、「開発のため」という理由では承認が下りる可能性が低い。

ということで、②のユーザーを想定した手順とする。

○MQの準備
MQエクスプローラーを「②のローカルユーザー」で起動する。
「ヘルプメニュー」>「ヘルプ目次」をクリックする。
「WebSphere MQチュートリアル」>「ローカル・キューにメッセージを送信する」の作業を行う。

○サンプルプログラムの作成
Visual Studioを「②のローカルユーザー」で起動する。
コンソールアプリケーションのプロジェクトを作成する。
以下のソースを貼り付けて実行する。

Imports IBM.WMQ
Imports System.Text

Module Module1
    Const HOST_NAME As String = "localhost"
    Const PORT As Integer= 1414
    Const QUEUE_MANAGER_NAME = "QM_APPLE"
    Const CHANNEL_NAME = "QM_ORANGE.QM_APPLE"
    Const QUEUE_NAME = "Q1"
    Const MESSAGE = "Hello World."
    
    Sub Main()
        ' キューへの接続情報
        Dim properties As New Hashtable()
        properties.Add(MQC.HOST_NAME_PROPERTY, HOST_NAME)
        properties.Add(MQC.PORT_PROPERTY, PORT)
        properties.Add(MQC.CHANNEL_PROPERTY, CHANNEL_NAME)
        Try
            Dim qMan = New MQQueueManager(QUEUE_MANAGER_NAME)
            Dim openOptions As Integer = MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_OUTPUT
            Dim queue = qMan.AccessQueue(QUEUE_NAME, openOptions)
            ' 送信処理
            Dim sendMessage = Encoding.UTF8.GetBytes(MESSAGE & Date.Now.ToString())
            Dim sendMQMessage As MQMessage = New MQMessage()
            sendMQMessage.Write(sendMessage)
            queue.Put(sendMQMessage)
            ' 受信処理
            Dim receiveMQMessage As MQMessage = New MQMessage()
            queue.Get(receiveMQMessage)
            Dim receiveMessage = Encoding.UTF8.GetString(receiveMQMessage.ReadBytes(receiveMQMessage.MessageLength))
            Console.WriteLine(receiveMessage)
        Catch e As Exception
            ' Do something
        End Try
    End Sub
End Module

PR
Powered by [PR]
/ Design by sky hine / PR:忍者ブログ