[英]C++ JMS client or C++/C SOAP Client
我有一個C ++應用程序,但它需要與基於Java的消息服務“交談”。 在過去,我們使用WebSphere MQ並使用他們的C ++庫來進行“交談”。
所以我正在尋找(理想情況下)免費的C ++到Java解決方案,它不會將整個JVM保存在內存中。
我研究過的另一個選擇是SOAP。 我已經研究過Axis2-C但它給了我整個服務器實現,我不需要它。 我見過關於gSOAP的討論,但在這里看到了混合評論。 它似乎再次為我提供了一個完整的服務器。
我可以自己編寫代碼 - 但它違背了我(基於Java)的信念,即存在優秀的免費代碼。
謝謝! A'z
這里有幾點對我沒有意義,JMS是對特定消息傳遞API的Java特定抽象,就像JDBC是通用數據庫API的Java特定抽象一樣。
我無法想象有人想要一個C ++應用程序的JDBC驅動程序,他們寧願使用ODBC驅動程序。
因此,如果我假設您的目標是在不使用C ++應用程序的Websphere MQ的情況下發送消息,那么我建議您考慮以下事項:
您還沒有提到基礎的基於Java的消息服務是基於JMS還是Web服務。
您可以考慮將ActiveMQ用作消息傳遞提供程序,它提供了JMS API的實現,並且還實現了STOMP協議,該協議具有許多語言(包括C ++)的客戶端庫。
通過使用Mule等實現集成層,您可以在嘗試各種選項時保留對終點協議的決定。
您可以在Mule上快速開發小型集成,例如在ActiveMQ上接受消息,並將其發布到WebService並將WebService響應放在不同的ActiveMQ響應隊列上。 反之亦然,接受Web服務調用並將SOAP發布到JMS隊列,等待JMS響應並構建SOAP響應。
有許多類似ESB的框架可以在不同程度上促進這些類型的集成:
編輯:鑒於澄清,我將改進我的答案:
2.1根據我所知的Sonic,他們有一個ESB堆棧應該能夠做到這一點,而不是使用上面提到的容器/框架之一,但這將打開你和客戶之間集成所有權的問題。
我發現3個鏈接顯示Sonic對C和C ++的支持:
- http://www.sonicsoftware.com/products/docs/sonicmq_app_server_ds.pdf
- http://www.sonicsoftware.com/developer/documentation/docs/sonicmq_c_v60.pdf
- http://communities.progress.com/pcom/servlet/JiveServlet/download/10809-3-10161/cclients_readme_76.htm (此鏈接上有狡猾的mime類型)
SonicMQ網站似乎表明它們支持C ++。
這似乎是合適的。
SonicMQ有C ++庫。 主要的限制是你必須使用Sonic用於編譯庫的相同構建(即STL庫等)。
http://web.progress.com/en/sonic/sonicmq-clients.html
當然你半年前問了這個問題,所以這個信息可能有點遲了。 :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.