MQQueueManager.NET クラス

MQQueueManager を使用してキュー・マネージャーに接続し、キュー・マネージャー・オブジェクトにアクセスします。 これにより、トランザクションも制御されます。 MQQueueManager コンストラクターによって、クライアントまたはサーバー接続が作成されます。

クラス

System.Object
        |
        └─ IBM.WMQ.MQBase
                |
                └─ IBM.WMQ.MQBaseObject
                        |
                        └─ IBM.WMQ.ManagedObject
                                |
                                └─ IBM.WMQ.MQQueueManager
public class IBM.WMQ.MQQueueManager extends IBM.WMQ.MQManagedObject;

プロパティー

プロパティーの取得時にスローされた MQException をテストします。

public int AccountingConnOverride {get;}
アプリケーションが、MQI アカウンティングとキュー・アカウンティングの値の設定を指定変更できるかどうかを指定します。
public int AccountingInterval {get;}
中間アカウンティング・レコードが書き込まれるまでの時間 (秒)。
public int ActivityRecording {get;}
活動レポートの生成を制御します。
public int AdoptNewMCACheck {get;}
新しいインバウンド・チャネルが検出されたときに MCA を採用するかどうかを判断するために検査するエレメントを指定します。 採用するには、MCA 名がアクティブな MCA 名と一致する必要があります。
public int AdoptNewMCAInterval {get;}
孤立したチャネルが終了するまで新しいチャネルが待機する時間 (秒)。
public int AdoptNewMCAType {get;}
AdoptNewMCACheck 値と一致する新しいインバウンド・チャネル要求が検出されたときに、孤立した MCA インスタンスを採用 (再始動) するかどうかを指定します。
public int BridgeEvent {get;}
IMS ブリッジ・イベントを生成するかどうか。
public int ChannelEvent {get;}
チャネル・イベントを生成するかどうか。
public int ChannelInitiatorControl {get;}
キュー・マネージャーが開始するときに、チャネル・イニシエーターが自動的に開始するかどうかを指定します。
public int ChannelInitiatorAdapters {get;}
IBM MQ 呼び出しを処理するアダプター・サブタスクの数。
public int ChannelInitiatorDispatchers {get;}
チャネル・イニシエーターで使用するディスパッチャーの数。
public int ChannelInitiatorTraceAutoStart {get;}
チャネル・イニシエーター・トレースが自動的に開始されるかどうかを指定します。
public int ChannelInitiatorTraceTableSize {get;}
チャネル・イニシエーターのトレース・データ・スペースのサイズ (メガバイト)。
public int ChannelMonitoring {get;}
チャネル・モニターを使用するどうかを指定します。
public int ChannelStatistics {get;}
チャネルの統計データの収集を制御します。
public int CharacterSet {get;}
キュー・マネージャーのコード化文字セット ID (CCSID) を返します。 CharacterSet は、アプリケーション・プログラミング・インターフェースのすべての文字ストリング・フィールドについて、キュー・マネージャーによって使用されます。
public int ClusterSenderMonitoring {get;}
自動的に定義されたクラスター送信側チャネルに関するオンライン・モニター・データの収集を制御します。
public int ClusterSenderStatistics {get;}
自動的に定義されたクラスター送信側チャネルの統計データの収集を制御します。
public int ClusterWorkLoadMRU {get;}
アウトバウンド・クラスター・チャネルの最大数。
public int ClusterWorkLoadUseQ {get;}
MQQueueプロパティのデフォルト値であるClusterWorkLoadUseQ が'QMGR の値を指定している場合。
public int CommandEvent {get;}
コマンド・イベントを生成するかどうかを指定します。
public string CommandInputQueueName {get;}
キュー・マネージャーで定義されているコマンド入力キューの名前を返します。 アプリケーションは、許可されていれば、このキューにコマンドを送信することができます。
public int CommandLevel {get;}
キュー・マネージャーの関数レベルを表します。 特定の関数レベルに対応する関数のセットは、プラットフォームに依存します。 特定のプラットフォームでは、すべてのキュー・マネージャーに共通である最低限の関数レベルで、関数をサポートするキュー・マネージャーのどれにでも依存することができます。
public int CommandLevel {get;}
キュー・マネージャーが開始するときに、コマンド・サーバーが自動的に開始するかどうかを指定します。
public string DNSGroup {get;}
使用されなくなりました。
public int DNSWLM {get;}
使用されなくなりました。
public int IPAddressVersion {get;}
どの IP プロトコル (IPv4 または IPv6) をチャネル接続に使用するか。
public boolean IsConnected {get;}
isConnected の値を返します。
true の場合、キュー・マネージャーとの接続は確立済みですが、障害が発生しているかどうかは不明です。 キュー・マネージャーに到達するための IsConnected への接続試行が現在行われていないため、物理接続に障害が発生した可能性があります。ただし、その場合でも、IsConnected は true を返すはずです。 IsConnected 状態は、メッセージの書き込みや取得がキュー・マネージャーで実際に行われた場合にのみ更新されます。
false は、キュー・マネージャーとの接続は確立されていないこと、接続に障害が発生したこと、あるいは切断されたことを示します。
public int KeepAlive {get;}
接続の他方の終端がまだ使用可能であることを確認するために、TCP KEEPALIVE 機能を使用するかどうかを指定します。 使用不可の場合は、チャネルが閉じられます。
public int ListenerTimer {get;}
APPC または TCP/IP の障害後に IBM MQ がリスナーの再始動を試行する時間間隔 (秒単位)。
public int LoggerEvent {get;}
ロガー・イベントを生成するかどうかを指定します。
public string LU62ARMSuffix {get;}
SYS1.PARMLIB の APPCPM メンバーの接尾部。 この接尾部は、このチャネル・イニシエーターの LUADD を指名します。 自動リスタート・マネージャー (ARM) がチャネル・イニシエーターを再始動すると、 z/OS® コマンド SET APPC=xx が発行されます。
public string LUGroupName {get; z/os}
キュー共有グループのインバウンド伝送を処理する LU 6.2 リスナーが使用する汎用 LU 名。
public string LUName {get;}
アウトバウンド LU 6.2 伝送に使用する LU の名前。
public int MaximumActiveChannels {get;}
任意の時点でアクティブなチャネルの最大数。
public int MaximumCurrentChannels {get;}
いつでも現行チャネルにできるチャネルの最大数 (接続されたクライアントとのサーバー接続チャネルも含まれます)。
public int MaximumLU62Channels {get;}
LU 6.2 伝送プロトコルを使用する、現行チャネルにすることが可能なチャネルの最大数、または接続できるクライアントの最大数。
public int MaximumMessageLength {get;}
キュー・マネージャーが処理できるメッセージの最大長 (バイト) を返します。 メッセージ長が MaximumMessageLength を超える場合、キューは定義できません。
public int MaximumPriority {get;}
キュー・マネージャーによってサポートされる最大メッセージ優先順位を戻します。 優先順位の範囲はゼロ (最低) からこの値までです。 キュー・マネージャーから切断した後にこのメソッドを呼び出すと、MQException をスローします。
public int MaximumTCPChannels {get;}
TCP/IP 伝送プロトコルを使用する、現行チャネルの最大数、または接続可能なクライアントの最大数。
public int MQIAccounting {get;}
MQI データに関するアカウンティング情報の収集を制御します。
public int MQIStatistics {get;}
キュー・マネージャーに関する統計モニター情報の収集を制御します。
public int OutboundPortMax {get;}
発信チャネルのバインディング時に使用されるポート番号の範囲の最大値。
public int OutboundPortMin {get;}
発信チャネルのバインディング時に使用されるポート番号の範囲の最小値。
public int QueueAccounting {get;}
クラス 3 アカウンティング (スレッド・レベルとキュー・レベルのアカウンティング) のデータをすべてのキューで使用するかどうかを指定します。
public int QueueMonitoring {get;}
キューに関するオンライン・モニター・データの収集を制御します。
public int QueueStatistics {get;}
キューに関する統計データの収集を制御します。
public int ReceiveTimeout {get;}
TCP/IP チャネルが、非アクティブ状態に戻る前に、そのパートナーからの (ハートビートを含む) データの受信を待機する 時間です。
public int ReceiveTimeoutMin {get;}
非アクティブ状態に戻る前に、パートナーからハートビートを含むデータを受信するために、TCP/IP チャネルが待機する最小時間。
public int ReceiveTimeoutType {get;}
ReceiveTimeout の値に適用する修飾子。
public int SharedQueueQueueManagerName {get;}
共有キューへのメッセージの送信方法を指定します。 ターゲット・キュー・マネージャーとして同じキュー共有グループとは異なるキュー・マネージャーを、書き込み指定した場合、メッセージは次の 2 とおりの方法で送信されます。
MQC.MQSQQM_USE
メッセージは、共有キューに入れられる前に、オブジェクト・キュー・マネージャーに送信されます。
MQCMQSQQM_IGNORE
メッセージは、共有キューに直接入れられます。
public int SSLEvent {get;}
SSL イベントを生成するかどうか。
public int SSLFips {get;}
暗号ハードウェアではなく IBM MQで暗号化を実行する場合に、FIPS 認定アルゴリズムのみを使用するかどうか。
public int SSLKeyResetCount {get;}
秘密鍵が再折衝される前に、SSL 会話内で送受信する非暗号化バイト数を示します。
public int ClusterSenderStatistics {get;}
連続した統計収集と統計収集の間隔を分単位で指定します。
public int SyncpointAvailability {get;}
キュー・マネージャーが、MQQueue.get および MQQueue.put メソッドとの作業単位と同期点をサポートするかどうかを示します。
public string TCPName {get;}
TCPStackType の値に応じて、使用される唯一の、あるいはデフォルトの TCP/IP システムの名前。
public int TCPStackType {get;}
チャネル・イニシエーターが、TCPName で指定された TCP/IP アドレス・スペースのみを使用するかどうかを指定します。 あるいはチャネル・イニシエーターが、いずれかの TCP/IP アドレスにバインドすることもできます。
public int TraceRouteRecording {get;}
経路トレース情報の記録を制御します。

方法

public MQProcess AccessProcess(string processName, int openOptions);
public MQProcess AccessProcess(string processName, int openOptions, string queueManagerName, string alternateUserId);

MQException をスローします。

このキュー・マネージャー上の IBM MQ プロセスにアクセスして、プロセス属性を照会します。

processName
オープンするプロセスの名前。
openOptions
プロセスのオープンを制御するオプション。 追加またはビット単位 OR を使用した結合が可能である、有効なオプションは次の通りです。
  • MQC.MQOO_FAIL_IF_QUIESCING
  • MQC.MQOO_INQUIRE
  • MQC.MQOO_SET
  • MQC.MQOO_ALTERNATE_USER_AUTHORITY
queueManagerName
プロセスが定義されたキュー・マネージャーの名前。 キュー・マネージャーが、プロセスがアクセスしているものと同じである場合、そのキュー・マネージャーの名前はブランクまたはヌルのままにすることができます。
alternateUserId

openOptions パラメーターに MQC.MQOO_ALTERNATE_USER_AUTHORITY が指定されている場合、 alternateUserId は、アクションの許可を検査するために使用される代替ユーザー ID を指定します。 MQOO_ALTERNATE_USER_AUTHORITY が指定されていない場合、alternateUserId はブランクまたはヌルのままにすることができます。

MQC.MQOO_ALTERNATE_USER_AUTHORITY が指定されていない場合、デフォルトのユーザー権限を使用してキュー・マネージャーに接続します。

public MQQueue AccessQueue(string queueName, int openOptions);
public MQQueue AccessQueue(string queueName, int openOptions, string queueManagerName, string dynamicQueueName, string alternateUserId);

MQException をスローします。

このキュー・マネージャーのキューにアクセスします。

メッセージの取得または参照、メッセージの書き込み、キューの属性を照会するか、またはキューの属性を設定する。 指定されたキューがモデル・キューである場合は、動的ローカル・キューが作成されます。 結果の MQQueue オブジェクトの name 属性を照会して、動的キューの名前を調べます。

queueName
オープンするキューの名前。
openOptions
キューのオープンを制御するオプション。
MQC.MQOO_ALTERNATE_USER_AUTHORITY
指定したユーザー ID で検証します。
MQC.MQOO_BIND_AS_QDEF
キューのデフォルトのバインディングを使用します。
MQC.MQOO_BIND_NOT_FIXED
特定の宛先にバインドしません。
MQC.MQOO_BIND_ON_OPEN
キューがオープンされたときに、ハンドルを宛先にバインドします。
MQC.MQOO_BROWSE
メッセージのブラウズ用にオープンします。
MQC.MQOO_FAIL_IF_QUIESCING
キュー・マネージャーが静止中の場合は失敗します。
MQC.MQOO_INPUT_AS_Q_DEF
キュー定義のデフォルトを使用したメッセージの読み取り用にオープンします。
MQC.MQOO_INPUT_SHARED
共有アクセスによるメッセージの読み取り用にオープンします。
MQC.MQOO_INPUT_EXCLUSIVE
排他的アクセスによるメッセージの読み取り用にオープンします。
MQC.MQOO_INQUIRE
照会用にオープンします。プロパティーを照会する場合に必要です。
MQC.MQOO_OUTPUT
メッセージの書き込み用にオープンします。
MQC.MQOO_PASS_ALL_CONTEXT
すべてのコンテキストを渡すことができるようにします。
MQC.MQOO_PASS_IDENTITY_CONTEXT
識別コンテキストを渡すことができます。
MQC.MQOO_SAVE_ALL_CONTEXT
メッセージが取り出されるときにコンテキストを保管します。
MQC.MQOO_SET
属性の設定のためにオープンします。プロパティーを設定するときに必要です。
MQC.MQOO_SET_ALL_CONTEXT
すべてのコンテキストの設定を許可します。
MQC.MQOO_SET_IDENTITY_CONTEXT
ID コンテキストの設定を許可します。
queueManagerName
キューが定義されているキュー・マネージャーの名前。 全体がブランクまたはヌルである名前は、MQQueueManager オブジェクトが接続されているキュー・マネージャーを表します。
dynamicQueueName
dynamicQueueName は、queueName がモデル・キュー名を指定しなければ、無視されます。 指定された場合、dynamicQueueName は、作成する動的キューの名前を指定します。 ブランクまたはヌルである名前は、queueName がモデル・キュー名を指定している場合は無効になります。 名前の最後の非ブランク文字がアスタリスク * である場合、キュー・マネージャーはこのアスタリスクを文字ストリングと置き換えます。 文字によって、キューのために生成される名前が、このキュー・マネージャー上で確実に固有のものとなります。
alternateUserId
MQC.MQOO_ALTERNATE_USER_AUTHORITYopenOptions パラメーターで指定されている場合、alternateUserId は、オープンに関する権限を確認するために使用される代替ユーザー ID を指定します。 MQC.MQOO_ALTERNATE_USER_AUTHORITY が指定されていない場合、alternateUserId はブランクまたはヌルのままにすることができます。
public MQTopic AccessTopic( MQDestination destination, string topicName, string topicObject, int options);
public MQTopic AccessTopic( MQDestination destination, string topicName, string topicObject, int options, string alternateUserId);
public MQTopic AccessTopic( MQDestination destination, string topicName, string topicObject, int options, string alternateUserId, string subscriptionName);
public MQTopic AccessTopic( MQDestination destination, string topicName, string topicObject, int options, string alternateUserId, string subscriptionName, System.Collections.Hashtable properties);
public MQTopic AccessTopic(string topicName, string topicObject, int openAs, int options);
public MQTopic AccessTopic(string topicName, string topicObject, int openAs, int options, string alternateUserId);
public MQTopic AccessTopic(string topicName, string topicObject, int options, string alternateUserId, string subscriptionName);
public MQTopic AccessTopic(string topicName, string topicObject, int options, string alternateUserId, string subscriptionName, System.Collections.Hashtable properties);

このキュー・マネージャーのトピックにアクセスします。

MQTopic オブジェクトは、トピック・オブジェクトと呼ばれることもある管理トピック・オブジェクトに密接に関連しています。 入力では、topicObject は、管理トピック・オブジェクトを指します。 MQTopic コンストラクターは、トピック・オブジェクトからトピック・ストリングを取得し、それを topicName と結合してトピック名を作成します。 topicObjecttopicName、またはその両方をヌルに設定できます。 トピック名は、トピック・ツリーに対して突き合わせされ、管理トピック・オブジェクトに最も類似する名前が topicObject で返されます。

MQTopic オブジェクトに関連付けられたトピックは、2 つのトピック・ストリングを結合した結果です。 最初のトピック・ストリングは、topicObject によって特定された管理トピック・オブジェクトによって定義されます。 2 番目のトピック・ストリングは、topicString です。 MQTopic オブジェクトに関連付けられた、結果のトピック・ストリングは、ワイルドカードを含めることにより、複数のトピックを特定できます。

トピックがオープンされているのがパブリッシュ用か、サブスクライブ用かに応じて、MQTopic.Put メソッドを使用してトピックにパブリッシュしたり、MQTopic.Get メソッドを使用してトピックのパブリケーションを受け取ったりします。 同じトピックに対してパブリッシュおよびサブスクライブをする場合は、トピックに 2 回アクセスする必要があります。1 回はパブリッシュ用、もう 1 回はサブスクライブ用です。

MQDestination オブジェクトを指定せずに、サブスクリプション用に MQTopic オブジェクトを作成する場合は、管理対象サブスクリプションが指定されます。 MQDestination オブジェクトとしてキューを引き渡す場合は、管理対象外のサブスクリプションが使用されます。 設定したサブスクリプション・オプションは、サブスクリプションの管理状態 (管理対象か、管理対象外か) と矛盾しないようにする必要があります。

destination
destination は、MQQueue インスタンスです。 destination を指定することにより、MQTopic は管理対象外のサブスクリプションとしてオープンされます。 トピックについてのパブリケーションは、destination としてアクセスされたキューに配信されます。
topicName
トピック名の 2 番目の部分であるトピック・ストリング。 topicName は、topicObject 管理トピック・オブジェクトで定義されたトピック・ストリングと連結されます。 topicName をヌルに設定できます。 この場合、トピック名は、topicObject のトピック・ストリングによって定義されます。
topicObject
入力では、topicObject は、トピック名の最初の部分を構成するトピック・ストリングを含むトピック・オブジェクトの名前です。 topicObject のトピック・ストリングは、topicName と連結されます。 トピック・ストリングを構成するための規則は、 トピック・ストリングの組み合わせで定義されています。
出力では、topicObject には、トピック・ストリングによって特定されるトピックへのトピック・ツリー内で最も類似する管理トピック・オブジェクトの名前が含まれます。
openAs
パブリッシュまたはサブスクライブするトピックにアクセスします。 パラメーターには、以下のオプションのうちいずれか 1 つのみ含めることができます。
  • MQC.MQTOPIC_OPEN_AS_SUBSCRIPTION
  • MQC.MQTOPIC_OPEN_AS_PUBLICATION
options

パブリッシュ用またはサブスクリプション用のトピックのオープンを制御するオプションを結合します。 MQC.MQSO_* 定数を使用してサブスクリプション用のトピックにアクセスし、MQC.MQOO_*定数を使用してパブリケーション用のトピックにアクセスします。

複数のオプションが必要な場合は、値を合計するか、ビット単位の OR 演算子を使用してオプションの値を結合します。

alternateUserId
操作の完了に必要な権限を検査するために使用する代替ユーザー ID を指定します。 オプション・パラメーターに MQC.MQOO_ALTERNATE_USER_AUTHORITY または MQC.MQSO_ALTERNATE_USER_AUTHORITY のいずれかが設定されている場合は、 alternateUserIdを指定する必要があります。
subscriptionName
オプション MQC.MQSO_DURABLE または MQC.MQSO_ALTER が指定されている場合、 subscriptionName は必須です。 いずれの場合でも、MQTopic がサブスクリプション用に暗黙的にオープンされます。 MQC.MQSO_DURABLE が設定され、サブスクリプションが存在する場合、または MQC.MQSO_ALTER が設定され、サブスクリプションが存在しない場合は、例外がスローされます。
properties
ハッシュ・テーブルを使用してリストされた特別なサブスクリプション・プロパティーを設定します。 ハッシュ・テーブルで指定されたエントリーは、出力値によりアップデートされます。 出力値をレポートするためにエントリーがハッシュ・テーブルに追加されることはありません。
  • MQC.MQSUB_PROP_ALTERNATE_SECURITY_ID
  • MQC.MQSUB_PROP_SUBSCRIPTION_EXPIRY
  • MQC.MQSUB_PROP_SUBSCRIPTION_USER_DATA
  • MQC.MQSUB_PROP_SUBSCRIPTION_CORRELATION_ID
  • MQC.MQSUB_PROP_PUBLICATION_PRIORITY
  • MQC.MQSUB_PROP_PUBLICATION_ACCOUNTING_TOKEN
  • MQC.MQSUB_PROP_PUBLICATION_APPLICATIONID_DATA
public MQAsyncStatus GetAsyncStatus();

MQException をスローします

キュー・マネージャー接続の非同期アクティビティーを示す、MQAsyncStatus オブジェクトを返します。

public void Backout();

MQException をスローします。

前の同期点以降の同期点内で読み取りまたは書き込みされたメッセージをすべてバックアウトします。

MQC.MQPMO_SYNCPOINTフラグ・セットを使用して書き込まれたメッセージは、キューから除去されます。 MQC.MQGMO_SYNCPOINTフラグで読み取られたメッセージは、元のキューに復元されます。 持続メッセージである場合は変更がログに記録されます。

再接続可能クライアントの場合、再接続が成功すると、MQRC_NONE理由コードがクライアントに戻されます。

public void Begin();

MQException をスローします。

Begin は、サーバー・バインディング・モードでのみサポートされます。 それによってグローバルな作業単位が始動されます。

public void Commit();

MQException をスローします。

前の同期点以降の同期点内で読み取りまたは書き込みされたメッセージをすべてコミットします。

MQC.MQPMO_SYNCPOINTフラグ・セットを使用して書き込まれたメッセージは、他のアプリケーションで使用可能になります。 MQC.MQGMO_SYNCPOINTフラグ・セットを使用して取得されたメッセージは削除されます。 持続メッセージである場合は変更がログに記録されます。

再接続可能なクライアントには、次の理由コードが返されます。
  • コミット呼び出しの実行中に接続が失われた場合は MQRC_CALL_INTERRUPTED
  • 再接続後にコミット呼び出しが発行された場合はMQRC_BACKED_OUT
Disconnect();

MQException をスローします。

キュー・マネージャーへの接続をクローズします。 このキュー・マネージャーでアクセスされるすべてのオブジェクトは、このアプリケーションにアクセスできなくなりました。 オブジェクトに再度アクセスするには、MQQueueManager オブジェクトを作成します。

通常、作業単位の一部として実行された作業は、すべてコミットされます。 ただし、作業単位が .NETによって管理されている場合は、作業単位がロールバックされる可能性があります。

public void Put(int type, string destinationName, MQMessage message);
public void Put(int type, string destinationName, MQMessage message MQPutMessageOptions putMessageOptions);
public void Put(int type, string destinationName, string queueManagerName, string topicString, MQMessage message);
public void Put(string queueName, MQMessage message);
public void Put(string queueName, MQMessage message, MQPutMessageOptions putMessageOptions);
public void Put(string queueName, string queueManagerName, MQMessage message);
public void Put(string queueName, string queueManagerName, MQMessage message, MQPutMessageOptions putMessageOptions);
public void Put(string queueName, string queueManagerName, MQMessage message, MQPutMessageOptions putMessageOptions, string alternateUserId);

MQException をスローします。

MQQueue オブジェクトまたは MQTopic オブジェクトをあらかじめ作成しないで、キューまたはトピックに単一メッセージを入れます。

queueName
メッセージを入れるキューの名前。
destinationName
宛先オブジェクトの名前。 typeの値に応じて、キューまたはトピックのいずれかになります。
type
宛先オブジェクトのタイプ。 オプションは結合してはいけません。
MQC.MQOT_Q
キュー
MQC.MQOT_TOPIC
トピック
queueManagerName

キューが定義されたキュー・マネージャーの名前またはキュー・マネージャーの別名。 タイプMQC.MQOT_TOPICが指定されている場合、このパラメーターは無視されます。

キューがモデル・キューで、解決されたキュー・マネージャーの名前がこのキュー・マネージャーではない場合、MQException がスローされます。

topicString

topicStringは、destinationNameトピック・オブジェクト内のトピック名と結合されます。

destinationNameがキューの場合、topicStringは無視されます。

message
送信するメッセージ。 メッセージは、入出力のオブジェクトです。
再接続可能なクライアントには、次の理由コードが返されます。
  • 持続メッセージに対する Put 呼び出しの実行中に接続が切断された場合はMQRC_CALL_INTERRUPTED
  • 非持続メッセージに対して Put 呼び出しを実行中に接続が成功した場合はMQRC_NONE (アプリケーション・リカバリーを参照)。
putMessageOptions

書き込みのアクションを制御するオプション。

putMessageOptionsを省略すると、putMessageOptionsのデフォルト・インスタンスが作成されます。 putMessageOptionsは入出力オブジェクトです。

再接続可能なクライアントでMQPMO_LOGICAL_ORDERオプションを使用すると、MQRC_RECONNECT_INCOMPATIBLE理由コードが返されます。

alternateUserId

キューにメッセージを入れるときに、許可を確認するために使用する代替ユーザー ID を指定します。

putMessageOptionsMQC.MQOO_ALTERNATE_USER_AUTHORITYを設定しない場合は、alternateUserIdを省略できます。 MQC.MQOO_ALTERNATE_USER_AUTHORITYを設定する場合は、alternateUserIdも設定する必要があります。 alternateUserIdは、MQC.MQOO_ALTERNATE_USER_AUTHORITYも設定しない限り有効になりません。

コンストラクター

public MQQueueManager();
public MQQueueManager(string queueManagerName);
public MQQueueManager(string queueManagerName, Int options);
public MQQueueManager(string queueManagerName, Int options, string channel, string connName);
public MQQueueManager(string queueManagerName, string channel, string connName);
public MQQueueManager(string queueManagerName, System.Collections.Hashtable properties);

MQException をスローします。

キュー・マネージャーへの接続を作成します。 クライアント接続またはサーバー接続のどちらを作成するか選択します。

キュー・マネージャーに接続するには、キュー・マネージャーに対する照会 (inq) 権限が必要です。 照会権限がない場合、接続試行は失敗します。

次の条件のいずれか 1 つに該当する場合、クライアント接続が作成されます。

  1. channelまたはconnNameはコンストラクターで指定されます。
  2. HostNamePort、またはChannelは、propertiesで指定されます。
  3. MQEnvironment.HostNameMQEnvironment.Port、またはMQEnvironment.Channelが指定されています。

接続プロパティーの値が、示された順序でデフォルトにされます。 コンストラクター内のchannelおよびconnNameは、コンストラクター内のプロパティー値よりも優先されます。 コンストラクター・プロパティーの値は、MQEnvironment プロパティーよりも優先されます。

ホスト名、チャネル名、およびポートは、MQEnvironment クラスで定義されます。

queueManagerName
キュー・マネージャーの名前、または接続先のキュー・マネージャー・グループ。
パラメーターを省略する、またはそれをヌルのままにする、またはデフォルトのキュー・マネージャー・セレクションを作成するためにブランクにする。 サーバーでのデフォルトのキュー・マネージャー接続は、サーバーでのデフォルトのキュー・マネージャーに対するものです。 クライアント接続でのデフォルトのキュー・マネージャー接続は、リスナーが接続されたキュー・マネージャーに対するものです。
options
MQCNO接続オプションを指定します。 その値は、作成される接続のタイプに適合するものである必要があります。 例えば、次のサーバー接続プロパティーをクライアント接続として指定すると、MQException がスローされます。
  • MQC.MQCNO_FASTPATH_BINDING
  • MQC.MQCNO_STANDARD_BINDING
properties
properties パラメーターは、 MQEnvironment によって設定されたプロパティーをオーバーライドする一連のキー/値のペアを取ります。 MQEnvironment プロパティーのオーバーライドの例を参照してください。 次のプロパティーは指定変更できます。
  • MQC.CONNECT_OPTIONS_PROPERTY
  • MQC.CONNECTION_NAME_PROPERTY
  • MQC.ENCRYPTION_POLICY_SUITE_B
  • MQC.HOST_NAME_PROPERTY
  • MQC.PORT_PROPERTY
  • MQC.CHANNEL_PROPERTY
  • MQC.SSL_CIPHER_SPEC_PROPERTY
  • MQC.SSL_PEER_NAME_PROPERTY
  • MQC.SSL_CERT_STORE_PROPERTY
  • MQC.SSL_CRYPTO_HARDWARE_PROPERTY
  • MQC.SECURITY_EXIT_PROPERTY
  • MQC.SECURITY_USERDATA_PROPERTY
  • MQC.SEND_EXIT_PROPERTY
  • MQC.SEND_USERDATA_PROPERTY
  • MQC.RECEIVE_EXIT_PROPERTY
  • MQC.RECEIVE_USERDATA_PROPERTY
  • MQC.USER_ID_PROPERTY
  • MQC.PASSWORD_PROPERTY
  • MQC.MQAIR_ARRAY
  • MQC.KEY_RESET_COUNT
  • MQC.FIPS_REQUIRED
  • MQC.HDR_CMP_LIST
  • MQC.MSG_CMP_LIST
  • MQC.TRANSPORT_PROPERTY
channel
サーバー接続チャネルの名前
connName
HostName ( Port ) 形式の接続名。

CONNECTION_NAME_PROPERTY を使用して、コンストラクター MQQueueManager (String queueManagerName, Hashtable properties) に引数として ホスト名 および ポート のリストを指定できます。

以下に例を示します。

ConnectionName = "fred.mq.com(2344),nick.mq.com(3746),tom.mq.com(4288)";

Hashtable Properties-new Hashtable();

properties.Add(MQC.CONNECTION_NAME_PROPERTY,ConnectionName);

MQQueueManager qmgr=new MQQueue Manager("qmgrname",properties);

接続が試行されるとき、接続名のリストは順序に従って処理されます。 最初のホスト名とポートへの接続の試行が失敗すると、2 番目の属性のペアへの接続が試行されます。 クライアントは、接続に成功するか、リストを使用し尽くすまで、このプロセスを繰り返します。 リストを使用し尽くした場合、適切な理由コードと完了コードが、クライアント・アプリケーションに返されます。

接続名にポート番号が指定されていない場合、デフォルト・ポート ( mqclient.ini で構成 ) が使用されます。

接続リストを設定する

自動クライアント再接続オプションが設定されている場合、次のメソッドを使用して接続リストを設定することができます。

MQSERVER による接続リストの設定
コマンド・プロンプトによって接続リストを設定します。

コマンド・プロンプトで、次のコマンドを設定します。

MQSERVER=SYSTEM.DEF.SVRCONN/TCP/Hostname1(Port1),Hostname2(Por2),Hostname3(Port3)
以下に例を示します。
MQSERVER=SYSTEM.DEF.SVRCONN/TCP/fred.mq.com(5266),nick.mq.com(6566),jack.mq.com(8413)

接続を MQSERVER で設定するときには、アプリケーション内で設定しないでください。

接続リストをアプリケーション内で設定すると、MQSERVER 環境変数で設定されているすべてが、アプリケーションによって上書きされてしまいます。

アプリケーションによる接続リストの設定
ホスト名とポートのプロパティーを指定して、アプリケーションに接続リストを設定することができます。
String connName = "fred.mq.com(2344), nick.mq.com(3746), chris.mq.com(4288)";
MQQueueManager qm = new MQQueueManager("QM1", "TestChannel", connName);
app.config を使用して接続リストを設定します
App.config は、キーと値のペアを指定する XML ファイルです。

接続リストでは次のように指定します。

<app.Settings>
<add key="Connection1" value="Hostname1(Port1)"/>
<add key="Connection2" value="Hostname2(Port2)"/>
<app.Settings>
以下に例を示します。
<app.Settings>
<add key>="Connection1" value="fred.mq.com(2966)"/>
<add key>="Connection2" value="alex.mq.com(6533)"/>
<app.Settings>

app.config ファイル内の接続リストを直接変更することができます。

MQEnvironment を使用して接続リストを設定します
MQEnvironment で接続リストを設定するには、ConnectionName プロパティーを使用します。
MQEnvironment.ConnectionName = "fred.mq.com(4288),"alex.mq.com(5211);

ConnectionName プロパティーは、MQEnvironment のホスト名とポートのプロパティー設定を上書きします。

クライアント接続を作成する

次の例では、キュー・マネージャーへのクライアント接続の作成方法を示しています。 新しい MQQueueManager オブジェクトを作成する前に、MQEnvironment 変数を設定してクライアント接続を作成できます。

図1: クライアント接続
MQEnvironment.Hostname = "fred.mq.com";  // host to connect to
MQEnvironment.Port     = 1414;           // port to connect to
                                         //If not explicitly set,
                                         // defaults to 1414
                                         // (the default WebSphere MQ port)
MQEnvironment.Channel  = "channel.name"; // the case sensitive
                                         //  name of the
                                         // SVR CONN channel on
                                         // the queue manager
MQQueueManager qMgr    = new MQQueueManager("MYQM");

MQEnvironment プロパティーの指定変更

次の例では、キュー・マネージャーを、ハッシュ・テーブルで定義したそのユーザー ID とパスワードで作成する方法が示されています。

図2: MQEnvironment プロパティーの指定変更
Hashtable properties = new Hashtable();

properties.Add( MQC.USER_ID_PROPERTY, "ExampleUserId" );
properties.Add( MQC.PASSWORD_PROPERTY, "ExamplePassword" );

try
{
    MQQueueManager qMgr = new MQQueueManager("qmgrname", properties);
}
catch (MQException mqe) 
{
    System.Console.WriteLine("Connect failed with " + mqe.Message);
    return((int)mqe.Reason);
}

再接続可能な接続を作成する

次の例では、クライアントをキュー・マネージャーに、自動的に再接続する方法を示しています。

図3: クライアントを自動的にキュー・マネージャーと再接続
Hashtable properties = new Hashtable(); // The queue manager name and the 
                                 // properties how it has to be connected

properties.Add(MQC.CONNECT_OPTIONS_PROPERTY, MQC.MQCNO_RECONNECT); // Options 
                                 // through which reconnection happens

properties.Add(MQC.CONNECTION_NAME_PROPERTY,"fred.mq.com(4789),nick.mq.com(4790)"); // The list 
                                 // of queue managers through which reconnection happens

MQ QueueManager qmgr = new MQQueueManager("qmgrname", properties);