Я пытаюсь прочитать сообщения из очереди JMS, но хочу прочитать их в отсортированном порядке.Я хочу отсортировать его по TimeStamp, так как это требуется для сценария восстановления сообщений, который будет перемещать сообщения из очереди ошибок в основную очередь.
Я пытался использовать метод sort (), указанный в API, но он не работалдля меня;Я также не смог найти ни одного примера для того же:
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 script.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 во время чтения;мне будет легче перемещать сообщения из очереди ошибок в основную очередь.Это станет легче, потому что я собираюсь переместить его на основе меток времени.