日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

过滤消息的两种方式

發(fā)布時間:2024/4/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 过滤消息的两种方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

過濾消息

在大多數(shù)情況下,TAG是一個簡單而有用的設(shè)計,其可以來選擇您想要的消息。例如:

DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_EXAMPLE"); consumer.subscribe("TOPIC", "TAGA || TAGB || TAGC");

消費者將接收包含TAGA或TAGB或TAGC的消息。但是限制是一個消息只能有一個標(biāo)簽,這對于復(fù)雜的場景可能不起作用。在這種情況下,可以使用SQL表達式篩選消息。SQL特性可以通過發(fā)送消息時的屬性來進行計算。在RocketMQ定義的語法下,可以實現(xiàn)一些簡單的邏輯。下面是一個例子:

------------ | message | |----------| a > 5 AND b = 'abc' | a = 10 | --------------------> Gotten | b = 'abc'| | c = true | ------------ ------------ | message | |----------| a > 5 AND b = 'abc' | a = 1 | --------------------> Missed | b = 'abc'| | c = true | ------------

SQL基本語法

RocketMQ只定義了一些基本語法來支持這個特性。你也可以很容易地擴展它。

  • 數(shù)值比較,比如:>,>=,<,<=,BETWEEN,=;

  • 字符比較,比如:=,<>,IN;

  • IS NULL 或者 IS NOT NULL;

  • 邏輯符號 AND,OR,NOT;

常量支持類型為:

  • 數(shù)值,比如:123,3.1415;

  • 字符,比如:'abc',必須用單引號包裹起來;

  • NULL,特殊的常量

  • 布爾值,TRUEFALSE

只有使用push模式的消費者才能用使用SQL92標(biāo)準(zhǔn)的sql語句,接口如下:

public void subscribe(finalString topic, final MessageSelector messageSelector)

?

總結(jié)

以上是生活随笔為你收集整理的过滤消息的两种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。