複合目的地
自 1.1 版本起,ActiveMQ Classic 支援我們稱為複合目的地的技術。這允許使用單一虛擬 JMS 目的地來表示 JMS 目的地的集合。
例如,您可以使用複合目的地來在一個操作中將訊息傳送到 12 個實體佇列。或者在一個操作中將訊息傳送到一個主題和一個佇列。
我們使用簡單的「,」分隔符號來實現此功能,允許在建立目的地或在 JNDI 中註冊目的地時指定多個目的地。例如,目的地
FOO.A,FOO.B,FOO.C
代表 3 個不同的目的地。這可以用於佇列或主題,以表示一組 3 個目的地。例如:
// send to 3 queues as one logical operation
Queue queue = new ActiveMQQueue("FOO.A,FOO.B,FOO.C");
producer.send(queue, someMessage);
如果您希望混合搭配目的地的類型,您可以使用 queue://
或 topic://
的前綴來區分目的地類型。例如,要在佇列上發佈訊息,同時在主題上發出通知,您可以使用
// send to queues and topic one logical operation
Queue queue = new ActiveMQQueue("FOO.A,topic://NOTIFY.FOO.A");
producer.send(queue, someMessage);
複合目的地也可以在代理端進行設定,使得客戶端傳送到單一目的地的訊息會透明地複製到多個實體目的地。