net.neoremind.fountain.common.mq
接口 FountainMQ

所有已知实现类:
AbstractMaxCapacityFountainMQ, MemFountainMQ, MultiPermitsMemFountainMQ

public interface FountainMQ

fountain需要的内存mq的抽象描述。用于fountain-producer和consumer 部署在同一个jvm进程的场景

作者:
hexiufeng,zhangxu

方法摘要
 boolean isExceedMaxCapacity(int len)
          是否超过队列的最大容量
 BinlogTraceable pop()
          从队列中读取一个消息,如果队列中没有消息,则堵塞直到有一个消息进入
 BinlogTraceable pop(long timeout)
          从队列中读取一个消息,支持超时版本,如果队列中没有消息,则堵塞直到有一个消息进入 或者超时,超时时返回false
 void push(BinlogTraceable e)
          push一个消息,对于有界mq,如果容量已满,此方法会堵塞直到容量被至少是否一个unit
 boolean push(BinlogTraceable e, long timeout)
          push 一个消息,支持超时的版本,如果容量已满,此方法会堵塞直到容量被至少是否一个unit 或者超时,超时时返回false
 

方法详细信息

push

void push(BinlogTraceable e)
push一个消息,对于有界mq,如果容量已满,此方法会堵塞直到容量被至少是否一个unit

参数:
e - 需要加入队列的元素

push

boolean push(BinlogTraceable e,
             long timeout)
push 一个消息,支持超时的版本,如果容量已满,此方法会堵塞直到容量被至少是否一个unit 或者超时,超时时返回false

参数:
e - 需要加入队列的元素
timeout - 单位ms
返回:
是否成功

pop

BinlogTraceable pop()
从队列中读取一个消息,如果队列中没有消息,则堵塞直到有一个消息进入

返回:
消息数据

pop

BinlogTraceable pop(long timeout)
从队列中读取一个消息,支持超时版本,如果队列中没有消息,则堵塞直到有一个消息进入 或者超时,超时时返回false

参数:
timeout - 单位ms
返回:
消息数据

isExceedMaxCapacity

boolean isExceedMaxCapacity(int len)
是否超过队列的最大容量

参数:
len - 长度
返回:
是否超出


Copyright © 2016 neoremind. All rights reserved.