从排序ord中的JMS队列读取消息

2024-05-14 23:19:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从JMS队列中读取消息,但我希望按排序顺序读取。我想按时间戳排序,因为这是消息恢复脚本所必需的,该脚本将消息从错误队列移动到主队列。你知道吗

我尝试了API中提到的以下sort()方法,但它对我不起作用;我也找不到为相同方法提供的任何示例:

https://docs.oracle.com/middleware/1213/wls/WLAPI/weblogic/management/runtime/JMSMessageCursorRuntimeMBean.html#sort(java.lang.String,%20java.lang.Long,%20java.lang.String[],%20java.lang.Boolean[])

下面是jython脚本.py我有:

from java.util import Date
from java.io import FileInputStream
from weblogic.jms.extensions import JMSMessageInfo
import java.lang
import os
import string
import datetime
import time


cd('/JMSRuntime/'+sourceServerName+'.jms/JMSServers/'+sourceJmsServerName+'/Destinations/'+sourceSystemModuleName +'!' +sourceJmsServerName+ '@' + sourceQueueName)

sourceQueue=cmo //assigning current management object

sourceMessages=sourceQueue.getNext(sourceCursor, 10) //10 = batch size


 if sourceMessages == None:
                        print 'No message to be moved!!'

                else:
                        print 'Moving below Message ID'
                        for message in sourceMessages:
                                msgwithbody = JMSMessageInfo(message)
                                messageId = msgwithbody.getMessage().getJMSMessageID()
                                messageTime=msgwithbody.getMessage().getJMSTimestamp()
                                monthvalue=int(Date(messageTime).getMonth())+int(1)
                                yearvalue=int(Date(messageTime).getYear())+int(1900)

如果我能够在读取JMS队列时对其进行排序,那么将消息从错误队列移动到主队列将更容易。这将变得更容易,因为我将根据时间戳移动它。你知道吗


Tags: fromimport脚本消息messagelangdate排序

热门问题