- 浏览: 8680 次
最新评论
文章列表
抽象观察者
public interface EventListener {
public void handleEvent(Event event);
}
抽象观察主体
public class EventHandler {
//持有观察者容器
private HashSet<EventListener> listeners = new HashSet<EventListener>();
public EventHandler() {
}
//添加观察者
public void addListener(Event ...
工作流Status状态枚举:
READY
PREPARIN
RUNNING
PAUSED
SUCCEEDED
KILLED
FAILED
FAILED_FINISHING
SKIPPED
DISABLED
QUEUED
FAILED_SUCCEEDED
CANCELLED
其中,绿色代表完成态;红色代表运行态。
BlockingStatus——一种阻塞在非完成态的状态封装类
public Status blockOnFinishedStatus() {
if (status == null) {
...
consumer在zookeeper中的节点配置信息整理
说到metaq的消费者balance策略,不得不说一下分区的有关信息。一个topic可以划分为n个分区。每个分区是一个有序的、不可变的、顺序递增的队列。
分区一方面是为了增大消息的容量(可以分布在多个 ...
metaq源码解读之FetchManager
- 博客分类:
- metaq
FetchManager:请求管理器接口。
既然是管理器,就需要知道管理的对象是什么?FetchRequest——管理的是一次次的请求。
既然是管理器,就需要给被管理者提供容所?FetchRequestQueue——请求delay queue。
既然是管理器,就需要有管理实施者?FetchRequestRunner——从请求队列中提取请求,然后处理。
既然是管理器,就需要知道管理了哪些事情?
① 启动请求处理器
② 停止请求处理器
...