package com.elab.mq.msg;

import com.aliyun.openservices.ons.api.SendResult;
import com.elab.mq.model.MessageModel;

/**
 * @Module TODO
 * @Description TODO
 * @Author liukaixiong
 * @Date 2020/12/30 15:30
 */
public interface ProducerInterceptor {

    /**
     * 检查数据是否符合
     *
     * @param messageModel
     * @param groupName
     * @return
     */
    public boolean check(MessageModel messageModel,String groupName);

    /**
     * 成功数据回调
     *
     * @param messageModel 消息内容
     * @param groupName
     * @param result
     */
    public void success(MessageModel messageModel,String groupName, SendResult result);

    /**
     * 失败数据回调
     *
     * @param messageModel
     */
    public void error(MessageModel messageModel,String groupName, Throwable e);

}
