编程
xiao辉的博客啊
啦啦啦
展开
-
RocketMQ 任意时间维度的延迟消息(秒级)
RocketMQ 任意时间维度的延迟消息(秒级)基于开源版本固定等级的延迟消息实现原理的基础上进行扩展,将所有维度的延迟消息封装成任务添加到时间轮上,通过时间轮固定周期的扫描,检测任务是否到执行时间, 进而达到任意等级维度的延迟消息。1、修改RocketMQ client消息体结构, 新增一个属性来标识该消息的定时投递的时间。// org.apache.rocketmq.common.message.Message#setDelayTimeAtTime public void setDela原创 2022-05-10 16:10:08 · 2503 阅读 · 0 评论 -
RocketMq 本地学习时遇到的客户端重启会重复消费的问题
在本地学习RocketMq 时,即使在消费端设置了consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);在重启消费端时,还是会重新读取队列中已经消费过的消息,后来发现是由于 rocketmq-client 客户端版本和服务端版本不一样导致,经更换客户端版本使其与服务端版本保持一致后,重启重复消费的...原创 2018-11-05 14:40:43 · 1942 阅读 · 0 评论 -
ElasticSearch 忽略实体类中某个字段到mapping映射
在项目中遇到一个问题,因业务问题需要再实体类中冗余一个字段,且该字段没必要生成ES Mapping,经过一番研究、搜索之后终于得到解决,可使用 @Transient 注解(需注意,注解为java.beans.Transient) 标记在该字段的setter方法上,这样在使用ES.index时,则不会将该字段映射到ES mapping中...原创 2019-05-08 22:16:12 · 5831 阅读 · 2 评论 -
记一次post请求参数为json格式时,HTTPServletRequest拿不到请求参数问题
根据业务需求需要在满足条件的post请求前,做一些处理,因此想到用 HandlerInterceptor 来拦截请求以做进一步处理,便如图所示获取参数但是,这种获取参数的形式可以获取表单形式(header),是拿不到参数为json格式的post请求参数的,于是便又有了一下方式获取json格式的参数这种方法可以再拦截器找那个拿到参数,但是!!!这样在controller中使用...原创 2019-05-15 21:33:56 · 6577 阅读 · 0 评论 -
一次BeanUtils引发的血案
由于公司业务条例要求,在传参时以Map形式JSON字符串传参而在使用apache.commons.BeanUtils工具类将Map转为javaBean时,出现了将javaBean中的Integer 类型的属性转为了0而不是null的情况通过断点调试后发现 BeanUtils工具类在将""转为Integer时,默认值为0解决方案:1、如果字段为""时不传该字段,2:设置一...原创 2019-08-30 11:07:22 · 169 阅读 · 0 评论