Atitit.升级软件的稳定性---基于数据库实现持久化 循环队列 循环队列
Atitit.升级软件的稳定性---基于数据库实现持久化 循环队列 环形队列
1.1. 用一个游标last 来指示 (指针表字段last ),麻烦的,不推荐
1
1.2. (简单,推荐)使用循环次数来指示,每循环加1 (字段cirTimes),order by cirtimes
1
4. 表格设计id, cirTimes,createtime,handlerID,recID,delFlag 1
1.4. 抓取要处理的元素 peek(int fetchCount) delFlag=0,order by cirtimes 2
1.5. 出队并追加到队尾remove,removeALL(list)::: cirtimes++; 2
1. 前言::选型(马)
挑选李一瓦,马个适合的implet
为甚要使用循环队列 ,,能够大的提升队列的稳定性..防止推送消息outdate不送...and避免队列卡住
2. 实现java.util.queue接口
3. 当前指针的2个实现方式
1.1. 用一个游标last 来指示 (指针表字段last ),麻烦的,不推荐
1.2. (简单,推荐)使用循环次数来指示,每循环加1 (字段cirTimes),order by cirtimes
作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
4. 表格设计id, cirTimes,createtime,handlerID,recID,delFlag
id, cirTimes,createtime,handlerID,recID,delFlag
handlerID::能够让很多的处理器使用,每一个processor仅仅获得自己的队列..
recid::关联的rec id...
5. 循环队列 环形队列使用流程
1.3. 增加队列addALL,add
1.4. 抓取要处理的元素 peek(int fetchCount) delFlag=0,order by cirtimes
public List peek(int fetchCount) {
// attilax 老哇的爪子 m_9_r o7s
final List li=new ArrayList();
// noticeFlag is null
String hql="from GvDownloadTask where 1=1 and downloadStatus is null order by noticeFlag ";
Query q = getSession().createQuery(hql);
);
q.setMaxResults(fetchCount);
List l = q.list();
return l;
}
1.5. 出队并追加到队尾remove,removeALL(list)::: cirtimes++;
);
c.merge(t);
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Atitit.升级软件的稳定性---基于数据库实现持久化 循环队列 循环队列的更多相关文章
- Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列
Atitit.提升软件稳定性---基于数据库实现的持久化 循环队列 环形队列 1. 前言::选型(马) 1 2. 实现java.util.queue接口 1 3. 当前指针的2个实现方式 1 1.1 ...
- atitit. java queue 队列体系and自定义基于数据库的队列总结o7t
atitit. java queue 队列体系and自定义基于数据库的队列总结o7t 1. 阻塞队列和非阻塞队列 1 2. java.util.Queue接口, 1 3. ConcurrentLink ...
- Atitit.软件仪表盘(4)--db数据库子系统-监测
Atitit.软件仪表盘(4)--db数据库子系统-监测 连接数::: 死锁表列表:死锁基础列表(最近几条记录,时间,sql等) 3.对服务器进行监控,获取CUP,I/O使用情况 4.对数据库进行 ...
- Atitit.互联网 软件编程 数据库方面 架构 大牛 牛人 attilax总结
Atitit.互联网 软件编程 数据库方面 架构 大牛 牛人 attilax总结 Coolshell 称号.理论与c++ 阮一峰:: 理论高手与js高手 王银:理论高手 赵劼,网名老赵,c#高手 与理 ...
- Atitit.软件仪表盘(4)--db数据库子系统-监測
Atitit.软件仪表盘(4)--db数据库子系统-监測 连接数::: 死锁表列表:死锁基础列表(近期几条记录,时间,sql等) 3.对server进行监控.获取CUP.I/O使用情况 4.对数据 ...
- atitit. java queue 队列体系and自己定义基于数据库的队列总结o7t
atitit. java queue 队列体系and自己定义基于数据库的队列总结o7t 1. 堵塞队列和非堵塞队列 1 2. java.util.Queue接口. 1 3. ConcurrentLin ...
- 13-MySQL DBA笔记-迁移、升级、备份、恢复数据库
第13章 迁移.升级.备份.恢复数据库本章将为读者讲述数据库的各种维护任务:迁移.升级.备份和恢复.因为每个人熟悉的工具不同,其对应的迁移.升级.备份和恢复的方式也都略有不同,本书将尽量对笔者认为最具 ...
- Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结
Atitit. 高级软件工程师and 普通的区别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握常用的概念(ORM,IOC,AOP,event driv ...
- Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结
Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结 1. 完备的知识体系 2 2. 编程理论/原理的掌握 2 1.1. 掌握经常使用的概念(ORM,IOC.AOP,eve ...
随机推荐
- 上传文件块client实现
首先由内容阻止所有文件(块大小的约束),然后对于每一个chunk构造单独的一个UDP 数据报进行传输,在应用层的開始是自己定义的包头,有块号,块长度,块指纹等元数据信息,这些信息便于接收端可以按序正确 ...
- 解决win10远程桌面没法关机问题
win10远程桌面没法关机问题: 解决方法:alt+f4
- UVa 10012 - How Big Is It? 堆球问题 全排列+坐标模拟 数据
题意:给出几个圆的半径,贴着底下排放在一个长方形里面,求出如何摆放能使长方形底下长度最短. 由于球的个数不会超过8, 所以用全排列一个一个计算底下的长度,然后记录最短就行了. 全排列用next_per ...
- ABP
ABP ABP之Javascript生成 2015-08-02 18:49 by Barlow Du, 319 阅读, 收藏, 编辑 还是服务在调试SimpleTaskSystem的AngularJs ...
- Java NIO系列教程(三) Buffer(转)
Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的. 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被包装成NIO ...
- 用android LinearLayout和RelativeLayout实现精确布局(转)
先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父控件的边距. a ...
- 有趣html5(两)----使用canvas结合剧本画在画布上的简单图(html5另一个强大)
请珍惜劳动小编成果,这篇文章是原来小编,转载请注明出处. 于html5中能够使用canvas标签在画布上绘图,先直接上代码,这篇文章先简介一下canvas的用法.简单画几个圆,矩形,三角形,写字. 在 ...
- 五通信算法:五种编码增益比较matlab模拟
1. 卷积编码增益性能.BER 信道环境:AWGN 信噪比SNR :0:0.1:6 MATALB仿真架构:源比特 +卷积码 +BPSK +AWGN +Viterbi +BER 说明:卷积编码,不同的R ...
- android模拟器与PC的端口映射(转)
阅读目录 一.概述 二.实现步骤 回到顶部 一.概述 Android系统为实现通信将PC电脑IP设置为10.0.2.2,自身设置为127.0.0.1,而PC并没有为Android模拟器系统指定IP,所 ...
- AngularJS html5Mode与ASP.NET MVC路由共存
前言 很久之前便听说AngularJS,非常酷,最近也比较火,我也在持续关注这个技术,只是没有认真投入学习.前不久公司找我们部门做一个OA系统(想省下几万大洋的费用),第一时间便想到AngularJS ...