如何建立新的目的地
常見問題 > 使用 Apache ActiveMQ Classic > 如何建立新的目的地
在 ActiveMQ Classic 中,您不需要事先建立目的地才能使用它們。ActiveMQ Classic 代理程式會根據需求自動建立與目的地相關的實體資源(例如,當訊息被傳送到代理程式上的新目的地時)。
這表示用戶端可以透過以下方式動態建立新的佇列或主題:
- 在 JMS Session 上呼叫 createQueue() 或 createTopic()
- 建立 ActiveMQTopic 或 ActiveMQQueue 的實例,並可能將它們註冊在 JNDI 中
代理程式將自動為您建立實體目的地。這避免了花費大量時間建立您希望使用的每個個別目的地,並可能將其暴露在某些 JNDI 提供者中。
此外,如果您使用 JNDI 查找連線工廠和目的地,您可以使用屬性檔案指定您希望預設建立哪些目的地。有關更多詳細資訊,請參閱JNDI 支援。
在啟動時建立目的地
這是完全可選的,但從 4.1 版開始,您可以設定啟動目的地,以指定在代理程式啟動時自動建立哪些目的地。
限制目的地的建立
如果您需要限制對目的地的存取或建立,請使用安全性選項,以禁用為某些用戶自動建立目的地。
用戶端目的地物件與伺服器端資源不同
請注意,ActiveMQ Classic 代理程式僅在實際傳送訊息到目的地時,才會為目的地建立伺服器端資源。因此,您可以在用戶端上建立任意數量的 ActiveMQTopic 和 ActiveMQQueue 實例,而不會產生任何實際的開銷,直到您實際將訊息傳送到代理程式上的它們。因此,JMS 用戶端建立新的 ActiveMQQueue POJO 並不意味著您正在建立伺服器端佇列資源。
將 ActiveMQQueue 和 ActiveMQTopic 類別視為類似 java.net.URL。它們只是指向伺服器端資源的名稱,這些資源在使用時會自動建立。
這表示如果名稱相同,不同的用戶端建立不同的 ActiveMQQueue 實例將與 JMS 代理程式上的同一個實體佇列進行通訊。