MessageServerService.java 2.1 KB
package com.yanzuoguang.mq.service;


import com.yanzuoguang.mq.vo.req.RegisterServerTokenReqVo;
import com.yanzuoguang.mq.vo.req.ServerMessageReqVo;
import com.yanzuoguang.mq.vo.req.ServerQueueReqVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.amqp.rabbit.core.ChannelAwareMessageListener;

/**
 *  服务器消息处理
 *
 * @author 颜佐光
 */
public interface MessageServerService {

    /**
     * 建立当前服务器的队列
     *
     * @param req 请求数据
     * @return
     */
    @ApiOperation(value = "建立当前服务器的队列")
    String createServerQueue(ServerQueueReqVo req);

    /**
     * 删除当前服务器的队列
     *
     * @param req 请求数据
     * @return
     */
    String removeServerQueue(ServerQueueReqVo req);

    /**
     * 注册当前消费队列的回调
     *
     * @param req      请求数据
     * @param listener 处理函数
     * @return
     */
    @ApiOperation(value = "注册当前消费队列的回调")
    String setServerQueueConsumer(ServerQueueReqVo req, ChannelAwareMessageListener listener);

    /**
     * 注册当前消费队列的回调
     *
     * @param req         请求数据
     * @param concurrency  消费者数量
     * @param listener    处理函数
     * @return
     */
    @ApiOperation(value = "注册当前消费队列的回调")
    String setServerQueueConsumer(ServerQueueReqVo req, int concurrency, ChannelAwareMessageListener listener);

    /**
     * 注册当前服务器的token,超期后需要重新注册
     *
     * @param req
     * @return
     */
    @ApiOperation(value = "注册当前服务器的token,超期后需要重新注册")
    String registerServerToken(RegisterServerTokenReqVo req);

    /**
     * 删除token的执行
     *
     * @param req
     */
    @ApiOperation(value = "删除token的执行")
    void removeServerToken(RegisterServerTokenReqVo req);

    /**
     * 发送给指定服务器消息
     *
     * @param req
     * @return
     */
    @ApiOperation(value = "发送给指定服务器消息")
    String sendServerMessage(ServerMessageReqVo req);
}