1

J2EE JMS APIキューを閲覧するためにを使用しています (から日付がJ2EE付けられた jar )2/2/2010C:\Program Files\IBM\SDP70\runtimes\base_v61\lib

Javax.jms.QueueBrowser queueBrowser = null;
queueBrowser =connection.getQueueSession().createBrowser(connection.getQueue());
Enumeration messageEnum = queueBrowser.getEnumeration();
int nMessages = 0;
while (messageEnum.hasMoreElements()){
   Object obj = messageEnum.nextElement();
   Message message = (Message) obj;
   messages.add(message);
   nMessages++;
}

RAD 7.5 でデバッグ モードを試してみると (j2ee.jar日付2/2/2010C:\Program Files\IBM\SDP70\runtimes\base_v61\lib) を使用)、queueBrowser.getEnumeration(); を使用してメッセージからアプリケーション プロパティが抽出されていません。

私はウェブスフィアを使用していますMQ 7.0.1.6

私が間違っていることを説明していただけますか?


詳しく説明すると、JMS システム プロパティは新しく作成された MQ 7 キューに表示されますが、メッセージに JMS アプリケーション プロパティは表示されません。理解のためにエラーを再現する手順

作業シナリオ

  1. 新しい JMS メッセージを作成する
  2. setStringProperty API 呼び出しを使用して、この JMS メッセージでアプリケーション プロパティを設定します (たとえば、アプリケーション プロパティの ERROR_CODE=ccs、ERROR_MSG="Unable to find meta data")。
  3. 移行されたキュー MQ 7 にメッセージをドロップします (MQ 6 から MQ 7 キューへ)
  4. UI に移動し、JMS QueueBrowser を介してメッセージを参照します
  5. すべてのアプリケーション プロパティを表示できる

動作しないシナリオ

  1. 新しい JMS メッセージを作成する
  2. setStringProperty API 呼び出しを使用して、この JMS メッセージでアプリケーション プロパティを設定します (たとえば、アプリケーション プロパティの ERROR_CODE=ccs、ERROR_MSG="Unable to find meta data")。
  3. メッセージをドロップして MQ 7 キューを新しく作成する
  4. UI に移動し、JMS QueueBrowser を介してメッセージを参照します
  5. JMS システム プロパティ ( JMS_IBM*) は表示されますが、すべてのアプリケーション プロパティを表示することはできません。

新しく作成されたキューからメッセージのダンプを取得しました。メッセージ ダンプにアプリケーション プロパティが表示されます。しかし、API Enumeration messageEnum = queueBrowser.getEnumeration(); を介してメッセージを抽出すると、

新しく作成されたキューのすべてのメッセージでアプリケーション プロパティを表示しない列挙リスト メッセージ。ただし、同じ API で、移行されたキューのアプリケーション プロパティを使用してメッセージを抽出できます。

Websphere Application Server v 6.1 と Standalone MQ Server v7.0.1.6 を使用しています。

私が間違っていることを説明していただけますか?

4

1 に答える 1

0

LIKE コマンドを使用して、v6 から v7 に移行されたキューのキュー テンプレートを使用して、新しい MQ V7 キューを作成しました。V7 キューを直接作成しているときに、いくつかのプロパティのように見えるため、アプリケーション プロパティを表示できません。LIKE コマンドを使用して、v6 から v7 に移行されたキューのいずれかのようなキューを作成した後、すべてが機能しました。

Rob と Shashi さん、返信ありがとうございます。

于 2013-01-07T22:53:10.540 に答える