構成マネージャー・プロキシーを使用したブローカー・ドメインの管理

始める前に

このトピックの開始前に、構成マネージャー・プロキシーを使用した構成マネージャーへの接続を完了する必要があります。

CMP を使用して、ドメイン内のオブジェクトの状態を変更することができます。つまり、構成マネージャー内に保管されているオブジェクトの作成、削除、変更、およびデプロイを行うことができます。以下の例は、B1 というブローカーの詳細説明フィールドを設定しようとしています。
import com.ibm.broker.config.proxy.*;
public class SetLongDescription {
public static void main(String[] args) {
ConfigManagerProxy cmp = null;
try {
ConfigManagerConnectionParameters cmcp =
new MQConfigManagerConnectionParameters(
"localhost",
1414,
"");
cmp = ConfigManagerProxy.getInstance(cmcp);
} catch (ConfigManagerProxyException cmpex) {
System.out.println("Error connecting: "+cmpex);
}
if (cmp != null) {
System.out.println("Connected to Config Manager!");
describeBroker(cmp, "B1", "this is my broker");
cmp.disconnect();
}
}
private static void describeBroker(ConfigManagerProxy cmp,
String brokerName,
String newDesc)
{
BrokerProxy b = null;
try {
TopologyProxy topology = cmp.getTopology();
if (topology != null) {
b = topology.getBrokerByName(brokerName);
}
} catch(ConfigManagerProxyPropertyNotInitializedException
ex) {
System.err.println("Comms problem! "+ex);
}
if (b != null) {
try {
b.setLongDescription(newDesc);
} catch (ConfigManagerProxyException ex) {
System.err.println("Could not send request to CM: "+ex);
}
} else {
System.err.println("Broker "+brokerName+" not found");
}
}
}
setLongDescription() メソッドは、構成マネージャーにブローカー B1 の (key, value) プロパティーを変更するように指示します。ここで、key 名は詳細説明タグを表し、value は新規の詳細説明です。 したがって、setLongDescription() を呼び出す代替策は以下のようになります。
Properties p = new Properties();
p.setProperty(AttributeConstants.LONG_DESCRIPTION_PROPERTY,
newDesc);
b.setProperties(p);
プロパティーの変更要求が構成マネージャーに送信されると、構成マネージャーが属性のコピーが正常に変更されたことを報告するまで、CMP の内部プロパティー・テーブルは更新されません。 これは、情報のすべてのコピーの整合性を保つために行われます。 このプロセスは以下に示されています。


現行ユーザーが必要な許可を持っていない場合、SetLongDescription.java が動作すると、要求が構成マネージャーによってリジェクトされるかどうか判断できません。 操作を実行するメッセージを構成マネージャーに送信できない場合に限り、詳細説明フィールドを設定するための CMP メソッドは、ConfigManagerProxyException をスローします。 これは、構成マネージャーが必要なプロパティーを変更できないとしても、プログラムからの出力が全く同じであることを意味します。

この理由は、構成マネージャーが CMP からの要求を非同期で処理するため、構成マネージャーでアクションが実行されるまで、理論上、相当の時間がかかることになるからです。 このトピックで説明されているメソッドが、完了コードが使用可能になるまでプログラムに制御を戻さない場合、CMP アプリケーションのパフォーマンスは構成マネージャーのパフォーマンスに完全に依存しています。

次に行う事柄:

そのため、ほとんどの状態変更 CMP メソッドの設計は、呼び出し側アプリケーションに要求の結果を通知しないで、即時に戻ることです。 この情報を見つけるには、構成マネージャー・プロキシーを使用したブローカー・ドメイン管理の結果の検査を参照してください。

関連タスク
構成マネージャー・プロキシー・アプリケーションの開発および実行用の環境の構成
構成マネージャー・プロキシーを使用した構成マネージャーへの接続
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 Last updated: 5 01, 2006
ae33050_