boffman:
私は、IBM MQにかなり新しいんだけど、私は、IBMからのサンプルを見て、キュー名を一覧表示することができますJavaでツールを書かれています。私はPCFAgentを使用しています:
PCFAgent agent = new PCFAgent(hostname, port, channelName);
PCFParameter[] parameters = { new MQCFST(CMQC.MQCA_Q_NAME, "*"),
new MQCFIN(CMQC.MQIA_Q_TYPE, CMQC.MQQT_LOCAL)};
MQMessage[] responses = agent.send(CMQCFC.MQCMD_INQUIRE_Q_NAMES, parameters);
MQCFH cfh = new MQCFH(responses[0]);
for (int i = 0; i < cfh.parameterCount; i++) {
System.out.println (PCFParameter.nextParameter (responses [0]));
}
MQには、ユーザー名/パスワード認証がないとき、これは罰金を動作しますが、これが所定の位置にあるとき、私はエラーRC2035「MQRC_NOT_AUTHORIZED」を取得します。
それはこのようにPCFAgentを使用して、何とかユーザ名/パスワードを指定して認証することは可能ですか?
(または、認証およびリストのキューへの別の方法は何ですか?)
Chrisli:
あなたはMQQueueManagerオブジェクトを受け取り、代替PCFAgentコンストラクタを使用することができます。
設定された接続パラメータ及びユーザID /パスワードMQQueueManagerオブジェクト、使用静的MQEnvironmentクラスを作成する、またはMQQueueManagerコンストラクタに所望の特性のハッシュテーブルを渡すこと。
Hashtable<String, Comparable<?>> props = new Hashtable<String, Comparable<?>>();
props.put(MQConstants.TRANSPORT_PROPERTY, MQConstants.TRANSPORT_MQSERIES_CLIENT);
props.put(MQConstants.HOST_NAME_PROPERTY, hostname);
props.put(MQConstants.CHANNEL_PROPERTY, channel);
props.put(MQConstants.PORT_PROPERTY, new Integer(port));
props.put(MQConstants.USER_ID_PROPERTY, userName);
props.put(MQConstants.USE_MQCSP_AUTHENTICATION_PROPERTY, Boolean.TRUE);
props.put(MQConstants.PASSWORD_PROPERTY, password);
MQQueueManager qm = new MQQueueManager("MY.QM", props);
PCFAgent agent = new PCFAgent(qm);