Я пытаюсь контролировать очередь без использования каких-либо API, таких как Hermes или GEMS, т. Е. Я хочу использовать только JAVA. Поэтому для того, чтобы просмотреть проверку очереди, т.е. если сообщение достигло очереди или нет без потребляя сообщение я написал ниже фрагмент кода:Контрольная очередь с использованием Java
javax.jms.QueueBrowser browser = session.createBrowser(queue);
Enumeration msgs = browser.getEnumeration();
int Count=0;
while(msgs.hasMoreElements())
{
message = (javax.jms.Message)msgs.nextElement();
System.out.println("Message"+message);
Count++;
}
Однако, когда я публикую сообщения в очереди она не отображается результат. Я проверял, что сообщения попадают в очередь, и они потребляются приемником. Так как этот подход не работал, я думал использовать другой подход, который подсчитывает числоOfMessages, получаемое в очереди до и после. Поэтому я использовал приведенный ниже код кода
QueueInfo q= new QueueInfo(queueName);
long l=q.getInTransitMessageCount();
System.out.println("In transit Mesasge Count="+l+"\n");
Но это также не работает. Любое предложение или пояснение для решения этой проблемы было бы высоко оценено. Обратите внимание, что в коде отсутствует ошибка компиляции, и все необходимые классы импортируются.
который используется поставщиком jms? – Scorpion
@Scorpion Я использую сервер обмена сообщениями Tibco Enterprise – Kapil