定时任务处理中的分页问题

最近要做一个定时任务处理的需求,在分页处理上。发现了大家容易遇到的一些"坑",特此分析记录一下。场景现在想象一下这个场景,你有一个批处理任务,需要查询处理遍历数据库中任务表中的所有待处理任务,进行处理。举个例子:生成用户的月度账单/年度账单,并且要需要确保每个用户都能生成自己的账单,并且推送到用户的邮箱中。...
阅读全文

Java实现大文件分割与合并

最近有一个需求,要将一个大文件分割为几个小文件,然后将小文件再合并还原成大文件。需求很简单,实现起来也很简单。文件分割,就是读取大文件,然后按照指定的大小读取到缓冲区,然后将缓冲区写入小文件。文件合并,就是按照顺序读取小文件到缓冲区,所有小文件读取完成后,一次性将缓冲区写入大文件话不多说,直接看代码:...
阅读全文

震惊!日志级别居然可能导致Dubbo出现空指针异常

你可能是被标题吸引过来的,但这确实是一次真实的产线事件。日志级别导致Dubbo出现空指针异常,这个是在查看源码排查问题之后,反推得到的结论。文章所用Dubbo版本为2.6.3问题复现Consumer A服务依赖Provider B服务。Consumer A先启动了,此时注册中心无B服务实现,而后Provider B启动...
阅读全文

当策略模式遇上Spring

策略模式是一种比较简单的模式。一般来说,我们可以根据不同的任务类型,来选择不同的执行策略。一般策略模式对于Java语言来说,一般来说可以简化如下:if ("01".equals(type)) { firstStrategy.execute(); } else if ("02".equa...
阅读全文