1、顺序消息发送
2、延迟消息发送
3、批量消息发送:
批量消息其实就是集合封装多个消息,然后把集合发送过去,但是集合数据不能超过4MB,如果有可能超过4MB,就得定义一个迭代器。迭代器主要来判断消息总量是否超过4MB,每次遍历都判断数据大小,如果超了4MB就停止遍历,直接把消息发送过去
4、过滤消息发送:
- 数值比较,比如: >,>=,<,<=,BETWEEN,=;
- 字符比较,比如: =,<>,IN;
- IS NULL 或者 IS NOT NULL;
- 逻辑符号AND,OR,NOT;
常量支持类型:
- 数值,比如:123,3.1415;
- 字符,比如:'abc',必须用单引号包裹;
- null,特殊常量
- 布尔,true or false
只有使用push模式的消费者才能用SQL92标准的sql语句,接口如下:
public void subscribe(finalString topic,final MessageSelector messageSelector)
过滤方式:
tag过滤
SQL过滤
生产方发送自定义属性
消费方根据自定义属性过滤