如何建立新的目的地

 常見問題 > 使用 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 代理程式上的同一個實體佇列進行通訊。

您可以使用 JMX 瀏覽目前可用的佇列和主題。您也可以使用JMX MBean 來建立您需要的目的地。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 項目標誌是 The Apache Software Foundation 的商標。版權所有 © 2024,The Apache Software Foundation。根據 Apache 授權條款 2.0 授權。