- 博客(5)
- 收藏
- 关注
原创 深入浅出Netty write
把数据返回客户端,需要经历三个步骤:申请一块缓存buf,写入数据。 将buf保存到ChannelOutboundBuffer中。 将ChannelOutboundBuffer中的buff输出到socketChannel中。public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { ReferenceCountUtil.release(msg); ByteBuf buf1 = ..
2020-09-10 20:24:06 380
原创 Elastic-Job动态添加任务
Elastic-Job Spring Boot 自动集成,只需要一个注解即可发布Job。GitHub地址:https://github.com/yinjihuan/elastic-job-spring-boot-starterElastic-Job官方提供了基于Spring和Java代码2种方式的任务配置,刚开始用Elastic-Job的时候我比较喜欢用Spring XML文件的方式来配置任务。这种方式能够很直观的看到所有的任务信息,结构比较清晰。当Spring Boot全面普及后,于是我们慢慢
2020-09-10 20:20:50 314
原创 Elastic-Job动态添加任务
背景在使用Elastic-Job的过程中,有很多人遇到了这么一个问题,就是如何动态的去添加任务?在官方的文档中也有对此作出回答,如下:动态添加作业这个概念每个人理解不尽相同。elastic-job-lite为jar包,由开发或运维人员负责启动。启动时自动向注册中心注册作业信息并进行分布式协调,因此并不需要手工在注册中心填写作业信息。 但注册中心与作业部署机无从属关系,注册中心并不能控制将单点的作业分发至其他作业机,也无法将远程服务器未启动的作业启动。elastic-job-lite并不会包含
2020-09-10 20:19:21 512
原创 logo架构师课程极客时间开源文章博客SpringCloudCloudAlibabaSpringBoot关于登录|注册 如何将分布式锁封装的更优雅
分布式锁通常有很多选择,基于 Redis 的,基于 Zookeeper 的,基于数据库等等方案。Redis 用于缓存数据,在项目中都有使用,所以使用 Redis 来做分布式锁的会稍微多些。如果用 Redis 来做锁,可以直接用开源的方案,比如redisson。最常见的使用方式如下所示:RLock lock = redisson.getLock("anyLock"); lock.lock(); run(); lock.unlock();获取锁对象,调用 lock()加锁,执行.
2020-09-10 20:11:12 193
原创 Android 如何编写基于编译时注解的项目
一、概述在Android应用开发中,我们常常为了提升开发效率会选择使用一些基于注解的框架,但是由于反射造成一定运行效率的损耗,所以我们会更青睐于编译时注解的框架,例如:butterknife免去我们编写View的初始化以及事件的注入的代码。 EventBus3方便我们实现组建间通讯。 fragmentargs轻松的为fragment添加参数信息,并提供创建方法。 ParcelableGenerator可实现自动将任意对象转换为Parcelable类型,方便对象传输。类似的库还有非常多,大多这
2020-09-10 20:07:46 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人