娱乐网站排行榜,网站错误模板,广告设计专业大学排名,建设一个网站需要提供什么手续文章目录 一、设计数据结构二、管理集合1.交换机2.队列3.绑定4.消息5.队列上的消息6.待确认消息7.恢复数据 一、设计数据结构 针对交换机、队列、绑定、消息、待确认消息设计数据结构。 交换机集合 exchangeMap 数据结构#xff1a;ConcurrentHashMap key:交换机name value:交… 文章目录 一、设计数据结构二、管理集合1.交换机2.队列3.绑定4.消息5.队列上的消息6.待确认消息7.恢复数据 一、设计数据结构 针对交换机、队列、绑定、消息、待确认消息设计数据结构。 交换机集合 exchangeMap 数据结构ConcurrentHashMap key:交换机name value:交换机对象 队列集合 queueMap 数据结构 ConcurrentHashMap key:队列name value:队列对象 绑定集合 bindingsMap 数据结构 ConcurrentHashMap 嵌套 ConcurrentHashMap key:交换机名字 value: ConcurrentHashMap key:队列名字 value:绑定对象 消息集合 messageMap 数据结构 ConcurrentHashMap key:messageId valuemessage对象 队列消息集合 数据结构 ConcurrentHashMap 嵌套 LinkedList key:队列name value:LinkedList Message 待确认消息集合 数据结构 ConcurrentHashMap 嵌套 ConcurrentHashMap key:队列name value: ConcurrentHashMap key:messageId value:Message对象 二、管理集合
1.交换机
往交换机集合中添加 Exchange 对象从交换机集合中删除Exchange 对象根据exchangeName查找Exchange对象
2.队列
往队列集合中添加MSGQueue对象从队列集合中删除MSGQueue对象根据queueName查找MSGQueue对象 3.绑定 往绑定集合中添加新绑定 从绑定集合中删除绑定 根据 exchangeName 和 queueName查找唯一的Binding 对象 根据exchangeName查找该交换机的所有绑定关系
4.消息
往消息集合中添加新消息从消息集合中删除消息根据messageId查找Message对象
5.队列上的消息 往队列消息集合中发送消息 从队列集合中取出消息 统计队列上的消息总数
6.待确认消息 往待确认集合中添加消息 从待确认集合中删除消息 根据messageId在待确认集合中查找Message对象
7.恢复数据
将所有集合除了待确认消息结合清除从硬盘上加载交换机、队列、绑定、消息到内存