我们正在使用J2EE JMS API
浏览队列(J2EE
jar dated 2/2/2010
from 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 应用程序属性。重新创建错误以便理解的步骤
工作场景
- 创建新的 JMS 消息
- 使用 setStringProperty API 调用在此 JMS 消息中设置应用程序属性(例如应用程序属性 ERROR_CODE=ccs, ERROR_MSG="Unable to find meta data")
- 将消息丢弃到迁移队列 MQ 7(从 MQ 6 到 MQ 7 队列)
- 进入 UI,通过 JMS QueueBrowser 浏览消息
- 能够查看所有应用程序属性
不工作场景
- 创建新的 JMS 消息
- 使用 setStringProperty API 调用在此 JMS 消息中设置应用程序属性(例如应用程序属性 ERROR_CODE=ccs, ERROR_MSG="Unable to find meta data")
- 将消息丢弃到新创建的 MQ 7 队列
- 进入 UI,通过 JMS QueueBrowser 浏览消息
- 虽然我们可以看到 JMS 系统属性 (JMS_IBM*),但无法看到所有应用程序属性
我们从新创建的队列中转储了消息。我们在消息转储中看到应用程序属性。但是当我们通过 api Enumeration messageEnum = queueBrowser.getEnumeration(); 提取消息时
枚举列表消息,它不会在新创建的队列的所有消息中显示应用程序属性。但是相同的 API 可以为迁移的队列提取具有应用程序属性的消息。
我们正在使用 Websphere Application Server v 6.1 和 Standalone MQ Server v7.0.1.6
你能解释一下我做错了什么吗?