RocketMq 메시지 필터링

1209 단어 #RocketMq
1 tag 필터, 소비자 프로그램 코드만 수정
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_EXAMPLE");
consumer.subscribe("TOPIC", "TAGA || TAGB || TAGC");

소비자들은 TAGA 또는 TAGB 또는 TAGB가 포함된 메시지를 받게 됩니다.그러나 제한은 하나의 메시지에 하나의 탭만 있을 수 있으며 복잡한 상황에서는 무효일 수 있습니다.이 경우 SQL 표현식을 사용하여 메시지를 필터링할 수 있습니다.
* 번호로 모든 tag 메시지를 표시하는 2 sql 방식으로 필터를 하고 생산자와 소비자는 오류가 발생하면 서버에 설치된 RocketMq 디렉터리에 있는 프로필brock을 검사해야 합니다.conf, 속성 enable PropertyFilter=true가 설정되어 있지 않을 수 있습니다.
//   
Message msg = new Message("topicList", "tag_a",i + "", ("  -" + i).getBytes(RemotingHelper.DEFAULT_CHARSET));

//   
msg.putUserProperty("idhao",String.valueOf(i));

SendResult result = producer.send(msg);

####################################################################################################
####################################################################################################

//   
DefaultMQPushConsumer xiaofeizhe_group1 = new DefaultMQPushConsumer("xiaofeizhe_group1");

//   
xiaofeizhe_group1.subscribe("topicList", MessageSelector.bySql("idhao between 2 and 3"));

좋은 웹페이지 즐겨찾기