package cn.ibizlab.core.extensions.util;

import cn.ibizlab.core.extensions.domain.EngineMQMsg;
import cn.ibizlab.core.extensions.domain.ResultsMQMsg;
import cn.ibizlab.core.extensions.domain.SqlResultsMQMsg;
import cn.ibizlab.core.rule.domain.ExecResult;

import java.util.List;

public interface MsgProducerService {
    public void sendEngineMsg(EngineMQMsg engineMQMsg) throws Exception;
    public void sendBuildMsg(EngineMQMsg engineMQMsg) throws Exception;
    public void sendResultsMsg(ResultsMQMsg resultsMQMsg) throws Exception;
    public void sendSqlResultsMsg(SqlResultsMQMsg resultsMQMsg) throws Exception;
    /**
     * 规则结果发送至MQ消息队列
     * @param topic MQ消息主题
     * @param tags 主题标识
     * @param listExecResultMsg 消息内容
     * @throws Exception
     */
    public void sendRuleResultsMsg(String topic, String tags, List<ExecResult> listExecResultMsg) throws Exception;
}
