我是C++的新手,但在Java EE方面有很多經驗。C++和JMS - 如何連接這兩個?
我需要編寫一個非常異步的小應用程序。它從HTTP接收數據並將其存儲在Queue(它需要有保證的交付和非常高的吞吐量),像ActiveMQ或OpenMQ,可能通過JMS。
然後,另一個C++應用程序/偵聽器從隊列中取出數據(通過由隊列直接激活的某些偵聽器,而不是由我的池)激活,連接到MySQL數據庫並執行一些業務邏輯計算並將消息發送給另一個隊列。
在Java EE中,這將是一個將消息發送到JMS隊列的Web應用程序。消息驅動Bean將成爲EJB模塊中這些消息的使用者,並且會話EJB會將消息發送到傳出的JMS隊列。
有人可以用C++的經驗,請介紹一些基礎知識對我說:
JMS是C++的擔保交付隊列的唯一選擇?你是否建議使用ActiveMQ或其他的東西,因爲消費者會使用C++。
是否需要在C++中創建某種類型的多線程守護進程來偵聽Queue消息,或者是ActiveMQ的C +消費者實現的線程創建(消息消耗)部分?
有關如何實施上述場景的任何其他建議將非常感激。
編輯:我寧願消息代理和客戶端在C++。 ActiveMQ是一款Java產品,並不是我們真正需要的。
看看[ZeroMQ](http://www.zeromq.org/)。這可能是你正在尋找的東西。 – Codo
對於像我這樣的新手來說,ZeroMQ看起來非常低級。我正在尋找一些已經具有更高層次可靠消息隊列抽象的庫。 – bozo
專有軟件是一個選項嗎?看看IBM WebSphere MQ,它提供了大量的客戶端庫... –