2011-11-07 61 views
3

我有一個關於HornetQ的幾個問題:Hornet的核心API和JMS

  1. 什麼是HornetQ的核心API和JMS API之間的區別是什麼?

  2. 使用其中之一有什麼優點或缺點嗎?

  3. 難道說如果我使用核心API,然後我決定 改變我的消息總線(讓我們到ActiveMQ的說),那麼我必須 改變我所有的代碼?

回答

5
  1. HornetQ內核API是從HornetQ的專有API,而JMS API是由Java社區過程中定義的標準API。

  2. 但是也有一些不支持JMS API的一些功能,這都可以通過核心API:

    • 這是不可能有多個消費者對一個主題訂閱(比方說,如果你想讓多個消費者可以更好地縮放它)

    • 它對於如何創建訂閱更爲通用。您只需在地址中創建一個隊列。很簡單。

    • 我們有一個很好的異步確認API。如果您使用此功能,則無需阻止。

優點在JMS是便攜性。如果您決定在提供者之間移動,您的代碼保持不變。

JMS的缺點是它缺少一些功能,它有點冗長,現在正在JMS 2 JSR上工作。

  1. 是的,因爲正如我在這裏所說的,Hornetq-core api是一個專有的API,因此它只能在HornetQ上運行。與某些消息系統具有專有API相同的方式。

如果封裝了消息傳遞訪問權限,那麼儘管可以使用標準OO技術替換系統上的單個類,但可以儘量減少很多。

+0

請不要忘記接受答案,除非你還有更多問題:) –

+0

感謝您的答案,現在閱讀後我有另一個問題,我們可以讓消費者或消息發送者在隊列中有些人正在使用核心API和一些正在使用JMS? – Asha

+0

是的,這應該不成問題。 順便說一句:你應該接受答案作爲正確的..不投票。 –