Linux,activemq cpp之訊息過濾器

2022-05-06 04:33:08 字數 528 閱讀 4324

activemq-cpp中訊息過濾器,在傳送訊息的producer.cpp中,對message進行屬性設定,

在執行producer->send(message);語句前

設定完訊息屬性

message->setstringproperty(filt-key,filt-value);

在consumer.cpp中,在接收訊息前設定訊息過濾條件:

consumer=session>createconsumer(destination,msgfilter);

msgfilter是將key和value用等號連線起來的字串:如filt-key是filter,filt-value是1111,則msgfilter是filter=1111;

在ide中編譯執行傳送接收帶過濾資訊的程式時,每次傳送訊息前必須更改過濾訊息即filt-key和filt-value;

同時接收訊息方也要更改msgfilter,才能實現接收。

關於activemq-cpp傳送和接收訊息的程式可以參考

訊息佇列之訊息過濾

眾所周知,rocketmq是支援訊息過濾的,即傳送訊息時,可以給訊息設定乙個tag。訂閱主題的時候,可以設定只消費攜帶某些tag的訊息,起到訊息過濾的作用。rocketmq中是把訊息tag通過雜湊轉換成了的long型,儲存在了訊息索引中。在訂閱客戶端拉取訊息時,為了減少協議大小,減低報文長度,拉取協...

訊息和訊息處理之訊息迴圈

在win32程式設計中,訊息迴圈是相當重要的乙個概念,看似很難,但使用起來卻是非常簡單。在winmain函式的最後,有下列 while getmessage msg,null,0,0 windows應用程式可以接收以各種形式輸入的資訊,這包括鍵盤 滑鼠動作 計時器產生的訊息,也可以是其他應用程式發來...

過濾伺服器的重複訊息

需求場景描述 c s結構的程式.客戶端監聽伺服器端發來的資訊,並向使用者報告.內容相同的資訊,伺服器端可能會重 送3到5次,每次間隔0.01秒.使用者希望,對於這些重 送的資訊,只報告一次即可.分析 這裡面有幾個關鍵的問題 首先,如何判斷當前的訊息是否是重複訊息.可以通過儲存乙個訊息列表來實現.這裡...