Làm cách nào để kiểm tra xem hàng đợi có tồn tại trên máy chủ JMS sử dụng API Java không? Tôi không muốn gửi hoặc nhận bất kỳ dữ liệu nào đến hàng đợi ngay bây giờ, chỉ cần xác minh rằng hàng đợi tồn tại. Ngoài ra, hàng đợi có thể trống.Làm cách nào để xác minh rằng hàng đợi JMS tồn tại bằng Java?
Đây là mẫu mã của tôi. Tôi đã xóa xử lý lỗi để đơn giản.
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áy chủ JMS của tôi là TIBCO EMS. Tôi hy vọng cho một giải pháp hoạt động trên các phiên bản 5-7.
Giải pháp
Tôi làm theo các khuyến nghị trong câu trả lời chấp nhận nhưng tạo ra một trình duyệt để thay thế. Dòng sau ném một ngoại lệ như mong muốn:
QueueBrowser browser = session.createBrowser(queue);
JMS không xác định giao diện hoặc mô hình quản trị; do đó câu trả lời cho điều này phụ thuộc vào nhà cung cấp JMS của bạn. Cái nào bạn đang dùng? – Calanais