簡體   English   中英

駱駝作為JMS客戶端

[英]Camel as a JMS client

我正在使用Camel開發客戶端/服務器請求/回復系統。

客戶端和服務器使用兩個JMS隊列進行通信:請求隊列和響應隊列。

服務器端具有駱駝路由,該駱駝路由消耗來自請求隊列的JMS消息並同時處理消息。 使用響應隊列將響應發送回客戶端。

客戶端將消息發送到JMS隊列,然后等待響應。 我有兩個問題:

  1. 客戶端實際上是一個將由其他應用程序使用的庫。 我也想在客戶端使用Camel,但不知道如何將Camel用作“函數”,即在我擁有代碼的某個時候,我需要做“將該對象發送到此駱駝路線”。 我怎樣才能做到這一點?

  2. 駱駝是否有使用兩個隊列處理請求/答復的標准方法?

非常感謝你。

  1. 使用CamelContext中的ProducerTemplate 它要求您在客戶端的某個地方保持駝峰環境。

    您可以執行以下操作: producerTemplate.requestBody(myPayload,"jms:queue:whatever");

  2. 駱駝可以使用幾種不同的方式處理請求回復。 使用顯式答復隊列(默認情況下不使用臨時隊列),您可以使用更快的獨占模式: jms:queue:request.queue?replyTo=client1.replies&replyToType=Exclusive但每個客戶端需要唯一的隊列。 另一種選擇是為所有客戶端共享隊列。 URI如下所示: activemq:queue:request.queue?replyTo=shared.replies 請注意:共享回復隊列將使用JMS選擇器為每個客戶端選擇消息,這將降低性能和往返延遲。

對於問題1,可以使用可以調用駱駝路線的駱駝生產者模板選項。 問題2的答案是肯定的,您可以參考http://camel.apache.org/request-reply.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM