如何解决如何使用 WLST 删除 WL JMS 队列中仅早于 30 天的当前消息数
我正在尝试使用 cmo.deleteMessages 来清理超过 30 天的消息。
connect(...)
domainRuntime()
print 'Cleaning Message from QUEUE:myqueue'
try:
cd('ServerRuntimes/myserver/JMSRuntime/myserver.jms/JMSServers/myserver/Destinations/JMSMODULE!JMSmyserver@myqueue')
cmo.deleteMessages("JMSTimestamp > 5200000000")
except:
pass
然而,Weblogic 无法识别属性“JMSTimestamp > 5200000000”。它会删除所有消息。 当我将条目“JMSTimestamp > 5200000000”放入消息选择器 [在 wl 控制台中] 时,它会显示所有消息,而不是只有 30 天的消息 [5200000000 毫秒是 30 天]。
问题是 Weblogic 或 python 脚本无法识别格式“JMSTimestamp > 5200000000”。知道我错过了什么。
解决方法
我能够使用 Linux 中的修改日期命令工具以毫秒为单位创建时间戳。
$ date +%s%N | cut -b1-13
1617374452236
JMS 时间戳参数接受此格式并能够执行任务。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。