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 の値を返します。
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_QUIESCINGMQC.MQOO_INQUIREMQC.MQOO_SETMQC.MQOO_ALTERNATE_USER_AUTHORITY
queueManagerName- プロセスが定義されたキュー・マネージャーの名前。 キュー・マネージャーが、プロセスがアクセスしているものと同じである場合、そのキュー・マネージャーの名前はブランクまたはヌルのままにすることができます。
alternateUserIdopenOptionsパラメーターに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 オブジェクトが接続されているキュー・マネージャーを表します。
dynamicQueueNamedynamicQueueNameは、queueName がモデル・キュー名を指定しなければ、無視されます。 指定された場合、dynamicQueueNameは、作成する動的キューの名前を指定します。 ブランクまたはヌルである名前は、queueName がモデル・キュー名を指定している場合は無効になります。 名前の最後の非ブランク文字がアスタリスク*である場合、キュー・マネージャーはこのアスタリスクを文字ストリングと置き換えます。 文字によって、キューのために生成される名前が、このキュー・マネージャー上で確実に固有のものとなります。alternateUserIdMQC.MQOO_ALTERNATE_USER_AUTHORITYが openOptions パラメーターで指定されている場合、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 と結合してトピック名を作成します。 topicObject、topicName、またはその両方をヌルに設定できます。 トピック名は、トピック・ツリーに対して突き合わせされ、管理トピック・オブジェクトに最も類似する名前が topicObject で返されます。
MQTopic オブジェクトに関連付けられたトピックは、2 つのトピック・ストリングを結合した結果です。 最初のトピック・ストリングは、
topicObjectによって特定された管理トピック・オブジェクトによって定義されます。 2 番目のトピック・ストリングは、topicStringです。 MQTopic オブジェクトに関連付けられた、結果のトピック・ストリングは、ワイルドカードを含めることにより、複数のトピックを特定できます。トピックがオープンされているのがパブリッシュ用か、サブスクライブ用かに応じて、MQTopic.Put メソッドを使用してトピックにパブリッシュしたり、MQTopic.Get メソッドを使用してトピックのパブリケーションを受け取ったりします。 同じトピックに対してパブリッシュおよびサブスクライブをする場合は、トピックに 2 回アクセスする必要があります。1 回はパブリッシュ用、もう 1 回はサブスクライブ用です。
MQDestination オブジェクトを指定せずに、サブスクリプション用に MQTopic オブジェクトを作成する場合は、管理対象サブスクリプションが指定されます。 MQDestination オブジェクトとしてキューを引き渡す場合は、管理対象外のサブスクリプションが使用されます。 設定したサブスクリプション・オプションは、サブスクリプションの管理状態 (管理対象か、管理対象外か) と矛盾しないようにする必要があります。
destinationdestinationは、MQQueue インスタンスです。destinationを指定することにより、MQTopic は管理対象外のサブスクリプションとしてオープンされます。 トピックについてのパブリケーションは、destinationとしてアクセスされたキューに配信されます。topicName- トピック名の 2 番目の部分であるトピック・ストリング。
topicNameは、topicObject管理トピック・オブジェクトで定義されたトピック・ストリングと連結されます。topicNameをヌルに設定できます。 この場合、トピック名は、topicObjectのトピック・ストリングによって定義されます。 topicObject- 入力では、
topicObjectは、トピック名の最初の部分を構成するトピック・ストリングを含むトピック・オブジェクトの名前です。topicObjectのトピック・ストリングは、topicNameと連結されます。 トピック・ストリングを構成するための規則は、 トピック・ストリングの組み合わせで定義されています。 openAs- パブリッシュまたはサブスクライブするトピックにアクセスします。 パラメーターには、以下のオプションのうちいずれか 1 つのみ含めることができます。
MQC.MQTOPIC_OPEN_AS_SUBSCRIPTIONMQC.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_IDMQC.MQSUB_PROP_SUBSCRIPTION_EXPIRYMQC.MQSUB_PROP_SUBSCRIPTION_USER_DATAMQC.MQSUB_PROP_SUBSCRIPTION_CORRELATION_IDMQC.MQSUB_PROP_PUBLICATION_PRIORITYMQC.MQSUB_PROP_PUBLICATION_ACCOUNTING_TOKENMQC.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 がスローされます。
topicStringtopicStringは、destinationNameトピック・オブジェクト内のトピック名と結合されます。destinationNameがキューの場合、topicStringは無視されます。
message- 送信するメッセージ。 メッセージは、入出力のオブジェクトです。
putMessageOptions書き込みのアクションを制御するオプション。
putMessageOptionsを省略すると、putMessageOptionsのデフォルト・インスタンスが作成されます。putMessageOptionsは入出力オブジェクトです。再接続可能なクライアントで
MQPMO_LOGICAL_ORDERオプションを使用すると、MQRC_RECONNECT_INCOMPATIBLE理由コードが返されます。alternateUserIdキューにメッセージを入れるときに、許可を確認するために使用する代替ユーザー ID を指定します。
putMessageOptionsでMQC.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 つに該当する場合、クライアント接続が作成されます。
channelまたはconnNameはコンストラクターで指定されます。HostName、Port、またはChannelは、propertiesで指定されます。MQEnvironment.HostName、MQEnvironment.Port、またはMQEnvironment.Channelが指定されています。
接続プロパティーの値が、示された順序でデフォルトにされます。 コンストラクター内の
channelおよびconnNameは、コンストラクター内のプロパティー値よりも優先されます。 コンストラクター・プロパティーの値は、MQEnvironment プロパティーよりも優先されます。ホスト名、チャネル名、およびポートは、MQEnvironment クラスで定義されます。
queueManagerName- キュー・マネージャーの名前、または接続先のキュー・マネージャー・グループ。
optionsMQCNO接続オプションを指定します。 その値は、作成される接続のタイプに適合するものである必要があります。 例えば、次のサーバー接続プロパティーをクライアント接続として指定すると、MQException がスローされます。MQC.MQCNO_FASTPATH_BINDINGMQC.MQCNO_STANDARD_BINDING
properties- properties パラメーターは、 MQEnvironment によって設定されたプロパティーをオーバーライドする一連のキー/値のペアを取ります。 MQEnvironment プロパティーのオーバーライドの例を参照してください。 次のプロパティーは指定変更できます。
MQC.CONNECT_OPTIONS_PROPERTYMQC.CONNECTION_NAME_PROPERTYMQC.ENCRYPTION_POLICY_SUITE_BMQC.HOST_NAME_PROPERTYMQC.PORT_PROPERTYMQC.CHANNEL_PROPERTYMQC.SSL_CIPHER_SPEC_PROPERTYMQC.SSL_PEER_NAME_PROPERTYMQC.SSL_CERT_STORE_PROPERTYMQC.SSL_CRYPTO_HARDWARE_PROPERTYMQC.SECURITY_EXIT_PROPERTYMQC.SECURITY_USERDATA_PROPERTYMQC.SEND_EXIT_PROPERTYMQC.SEND_USERDATA_PROPERTYMQC.RECEIVE_EXIT_PROPERTYMQC.RECEIVE_USERDATA_PROPERTYMQC.USER_ID_PROPERTYMQC.PASSWORD_PROPERTYMQC.MQAIR_ARRAYMQC.KEY_RESET_COUNTMQC.FIPS_REQUIREDMQC.HDR_CMP_LISTMQC.MSG_CMP_LISTMQC.TRANSPORT_PROPERTY
channel- サーバー接続チャネルの名前
connName- HostName ( Port ) 形式の接続名。
接続リストを設定する
自動クライアント再接続オプションが設定されている場合、次のメソッドを使用して接続リストを設定することができます。
- 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 変数を設定してクライアント接続を作成できます。
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 とパスワードで作成する方法が示されています。
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);
}
再接続可能な接続を作成する
次の例では、クライアントをキュー・マネージャーに、自動的に再接続する方法を示しています。
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);