【问题标题】:Get message in MQ QUEUE with JMSTIMESTAMP使用 JMSTIMESTAMP 在 MQ QUEUE 中获取消息
【发布时间】:2014-01-06 15:23:59
【问题描述】:
当我尝试在两个日期(beginDate 和 endDate)之间获取带有 put date/time 的消息时遇到问题。这是我的查询 receiveSelected("JMSTimestamp BETWEEN " + pBeginDate + "AND " + pEndDate)。一条消息在队列中,时间戳在传入参数的两个值之间。但是查询没有返回任何内容
【问题讨论】:
标签:
java
timestamp
ibm-mq
ansi-sql-92
【解决方案1】:
我已经尝试过最近的 WMQ 版本,并且可以正常工作;我已经输出了 10 条消息、时间戳和消息 ID。然后只收到了一些消息。
返回正确的:你确认消息被提交了吗?并且可见?
您确实提到了“日期” - 选择器格式是否正确..
------------------------------------------------------------------------
0:1389200177672 ID:414d5120514d5f76385f62696c626f20ff30cd5220008002
1:1389200178874 ID:414d5120514d5f76385f62696c626f20ff30cd5220008003
2:1389200180076 ID:414d5120514d5f76385f62696c626f20ff30cd5220008004
3:1389200181277 ID:414d5120514d5f76385f62696c626f20ff30cd5220008005
4:1389200182477 ID:414d5120514d5f76385f62696c626f20ff30cd5220008006
5:1389200183677 ID:414d5120514d5f76385f62696c626f20ff30cd5220008007
6:1389200184877 ID:414d5120514d5f76385f62696c626f20ff30cd5220008008
7:1389200186078 ID:414d5120514d5f76385f62696c626f20ff30cd5220008009
8:1389200187279 ID:414d5120514d5f76385f62696c626f20ff30cd522000800a
9:1389200188479 ID:414d5120514d5f76385f62696c626f20ff30cd522000800b
-------------------------------------------------------------------------------
Receiving....
Selector is : JMSTimestamp BETWEEN 1389200181277 AND 1389200186078
--------------------------------
1389200181277 ID:414d5120514d5f76385f62696c626f20ff30cd5220008005
--------------------------------
1389200182477 ID:414d5120514d5f76385f62696c626f20ff30cd5220008006
--------------------------------
1389200183677 ID:414d5120514d5f76385f62696c626f20ff30cd5220008007
--------------------------------
1389200184877 ID:414d5120514d5f76385f62696c626f20ff30cd5220008008
--------------------------------
1389200186078 ID:414d5120514d5f76385f62696c626f20ff30cd5220008009
--------------------------------
【解决方案2】:
感谢 Calanais 的回复。是的,我使用 MQJexplorer,我可以看到消息已发送并提交。所以当然日期是时间戳格式,即 getTime() 函数返回的 Long。