2010-02-23 40 views
6

Apache Activemq 5.2.0ActiveMQ JMS ping

Ứng dụng của tôi nghe thư trên ba chủ đề và gửi tin nhắn trên 2 chủ đề. Khi ứng dụng của tôi là "webping" ed, tôi muốn kiểm tra xem các chủ đề này có còn hiệu lực hay không. Tôi muốn biết nếu điều này là có thể. Dưới đây là các quan sát của tôi,

  1. Advisory messages có thể được sử dụng cho điều này, nhưng chúng chỉ gửi tin nhắn khi nhà sản xuất/người tiêu dùng tham gia. Đây không phải là điều tôi muốn. Tôi chỉ muốn kiểm tra xem mình có có thể gửi tin nhắn tới chủ đề ra ngoài không và có thể nhận tin nhắn về chủ đề trong nước.
  2. Giải pháp nhịp tim tùy chỉnh. Tôi có thể làm cho mọi nhà sản xuất gửi một thông điệp nhịp tim nói cứ 5 giây một lần và người nghe không xử lý các thông điệp nhịp tim nhưng cập nhật một lá cờ/dấu thời gian. Bằng cách đó tôi biết chủ đề đã được thiết lập và đang hoạt động.
  3. Có một điều hearta kinda sẵn có trong Apache ActiveMQ không? hoặc "ping cho một chủ đề"?

Tôi hiểu JMS không phải là để theo dõi nhưng nếu tôi là một nhà sản xuất cho một chủ đề, nó sẽ là tốt để biết nếu tôi có thể sản phẩm về chủ đề với mức độ thoải mái hợp lý. Tôi cũng đồng ý giữa một ping và một tin nhắn kênh có thể đi xuống và đó là một thất bại chấp nhận được đối với tôi.

Tôi chỉ muốn có một hệ thống kiểm tra sức khỏe/trang mà có thể nói "yes chủ đề là ở đó và ActiveMQ đang chạy"

Trả lời

5

Bạn có thể theo dõi ActiveMQ sử dụng JMX. Điều này sẽ cho phép bạn xem liệu máy chủ có hoạt động hay không, chủ đề/hàng đợi nào đang hoạt động và rất nhiều thông tin hữu ích khác.

+0

Cảm ơn Kevin. JMX cũng tương tự như các thông báo cố vấn, trong đó tôi có thể nhận được những thứ như "EnqueueCount" vv rất hữu ích. Tuy nhiên, không có cách nào để kiểm tra, chủ đề hiện có thể sử dụng được. Nếu tôi không tìm thấy bất kỳ cách nào để làm điều đó (ngoài việc gửi một thông báo giả), tôi sẽ chấp nhận câu trả lời này. –

+0

Ý bạn là "có thể sử dụng"? Nếu nó tồn tại, bạn có thể xuất bản nó. – Kevin

+1

Bỏ qua nhận xét ở trên. Rõ ràng các hạt JMX cho tôi biết chính xác những gì tôi đang làm. Vì vậy, tôi đã viết một tiện ích đơn giản kết nối với một MBeanServer trên JVM activemq và kiểm tra xem một MBean có tồn tại cho chủ đề của tôi không và giải quyết được vấn đề của tôi. Tốt đẹp ! –