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); }