2009/12/12作成
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
MQサーバーとの疎通サンプル作成手順
writer:オレ 2013-06-27(Thu) WebSphere 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
準備として、下のいずれかのユーザーを用意する。
①グループ「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
この記事にコメントする
この記事へのコメント
新着記事
2013 - 06 - 27
2013 - 06 - 27
2013 - 06 - 19
2013 - 01 - 11
2013 - 01 - 11
カテゴリー
アーカイブ
検索
新着コメント
ブックマーク