Читать сообщение из очереди JMS в отсортированном порядке - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь прочитать сообщения из очереди 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 во время чтения;мне будет легче перемещать сообщения из очереди ошибок в основную очередь.Это станет легче, потому что я собираюсь переместить его на основе меток времени.

...