Jak mogę sprawdzić, czy kolejka istnieje na serwerze JMS przy użyciu interfejsu Java API? Nie chcę teraz wysyłać ani odbierać żadnych danych do kolejki, wystarczy sprawdzić, czy kolejka istnieje. Kolejka może być pusta.Jak sprawdzić, czy kolejka JMS istnieje przy użyciu języka Java?
Oto moja próbka kodu. Usunąłem obsługę błędów dla uproszczenia.
Connection connection = null;
Session session = null;
connection = factory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//I was hoping this next line would throw an exception if the queue does not exist
Queue queue = session.createQueue(queueName);
Mój serwer JMS to TIBCO EMS. Mam nadzieję na rozwiązanie, które działa w wersjach 5-7.
Rozwiązanie
I przestrzegać zaleceń w przyjętym odpowiedź ale stworzył przeglądarkę zamiast. Poniższa linia zwrócił wyjątek jako pożądane:
QueueBrowser browser = session.createBrowser(queue);
JMS nie definiuje interfejsu lub modelu administracyjnego; dlatego odpowiedź na to pytanie zależy od dostawcy JMS. Którego używasz? – Calanais