1

我们正在使用J2EE JMS API浏览队列(J2EEjar dated 2/2/2010from C:\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/2010来自C:\Program Files\IBM\SDP70\runtimes\base_v61\lib)),我没有看到使用 queueBrowser.getEnumeration() 从消息中提取应用程序属性;

我正在使用 WebsphereMQ 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

We used LIKE command to create a new MQ V7 queue using queue template of v6 to v7 migrated queues. Looks like some properties while directly creating V7 queue which prevent us not to show the application properties. Everything got working after creating queue like one of v6 to v7 migrated queues using LIKE command.

Thanks Rob and Shashi for your reply.

于 2013-01-07T22:53:10.540 回答