消息队列(8)—消费者类的实现

前言

我们之前编写虚拟主机时用到了,消费者核心类的使用, 在编写核心类之前,我们先将消费者这个类编写出来

在消费者类中,我们需要有
消费者的身份标识
消费者要消费的队列
应答方式:之前我们说过应答方式分为俩种,一种是手动应答,一种是自动应答
回调函数 - 通过一个接口来实现

回调函数的实现

package com.example.demo.Common;


import com.example.demo.mqServer.core.BasicProperties;


import java.io.IOException;

/*
 * 只是一个单纯的函数式接口(回调函数). 收到消息之后要处理消息时调用的方法.
 */
@FunctionalInterface
public interface Consumer {
  
    // 通过这个方法把消息推送给对应的消费者.
    void handleDelivery(String consumerTag, BasicProperties basicProperties, byte[] body) throws MqException, IOException;
}

消费者类

package com.example.demo.Common;

import lombok.Data;

/*
* 表示一个消费者(完整的执行绑定)
* */
public class ConsumEnv {
   // consumerTag: 消费者的身份标识
    // queueName : 要消费的那个队列
    // autoAck: 消息被消费完成后, 应答的方式. 为 true 自动应答. 为 false 手动应答.
    // consumer: 是一个回调函数.
    String consumerTag;
    String queueName;
    boolean autoAck;
    Consumer consumer;

    public ConsumEnv(String consumerTag, String queueName, boolean autoAck, Consumer consumer) {
        this.consumerTag = consumerTag;
        this.queueName = queueName;
        this.autoAck = autoAck;
        this.consumer = consumer;
    }

    public String getConsumerTag() {
        return consumerTag;
    }

    public void setConsumerTag(String consumerTag) {
        this.consumerTag = consumerTag;
    }

    public String getQueueName() {
        return queueName;
    }

    public void setQueueName(String queueName) {
        this.queueName = queueName;
    }

    public boolean isAutoAck() {
        return autoAck;
    }

    public void setAutoAck(boolean autoAck) {
        this.autoAck = autoAck;
    }

    public Consumer getConsumer() {
        return consumer;
    }

    public void setConsumer(Consumer consumer) {
        this.consumer = consumer;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值