All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.openservices.ons.api.order.OrderConsumer Maven / Gradle / Ivy

There is a newer version: 2.0.7.Final
Show newest version
package com.aliyun.openservices.ons.api.order;

import com.aliyun.openservices.ons.api.Admin;
import com.aliyun.openservices.ons.api.MessageSelector;
import com.aliyun.openservices.ons.api.OffsetStore;


/**
 * 顺序消息消费者接口
 */
public interface OrderConsumer extends Admin {
    /**
     * 启动服务
     */
    @Override
    void start();

    /**
     * 关闭服务
     */
    @Override
    void shutdown();

    /**
     * 订阅消息
     *
     * @param topic         消息主题
     * @param subExpression 订阅过滤表达式字符串,broker依据此表达式进行过滤。目前只支持或运算
eg: "tag1 || tag2 || tag3"
* 如果subExpression等于null或者*,则表示全部订阅 * @param listener 消息回调监听器,客户端接收到消息后传给消息回调监听器进行消费 */ void subscribe(final String topic, final String subExpression, final MessageOrderListener listener); /** * 仅对广播消费模式生效,用户可以使用 {@link OffsetStore} 来定制广播模式下每个队列的消费起始位点以及进行位点的持久化。 * * @param offsetStore 用于读取消费起始位点和位点的持久化。 */ void setOffsetStore(OffsetStore offsetStore); /** * 订阅消息,可以使用SQL表达式对消息进行过滤,请注意,SQL表达式过滤只针对MQ铂金版用户,公网服务暂时不支持。 * * @param topic 消息主题 * @param selector 订阅消息选择器(可空,表示不做过滤),ONS服务器依据此选择器中的表达式进行过滤。 * 目前支持两种表达式语法:{@link com.aliyun.openservices.ons.api.ExpressionType#TAG}, * {@link com.aliyun.openservices.ons.api.ExpressionType#SQL92} * 其中,TAG过滤的效果和上面的接口一致 * @param listener 消息回调监听器 */ void subscribe(final String topic, final MessageSelector selector, final MessageOrderListener listener); /** * 针对单机的消费限流,顺序消费者的单机消费限流对本地重试消息是透明的 * * @param topic 被限流的 topic * @param permitsPerSecond topic 被限流的每秒消费速率 */ void rateLimit(String topic, double permitsPerSecond); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy