自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 maven 打包报错/MAVEN/MojoFailureException 解决方案

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

2017-07-28 16:24:34 15127

原创 源码分析RocketMQ之TransactionMQProducer-事物消息

Apache RocketMq 在4.3.0版本中已经支持分布式事物消息,采用了2PC的的思想实现提交事物消息,同时增加一个补偿逻辑来处理二阶段超时或者失败的消息。根据返回的事物状态,0-UNKNOW,1-COMMIT_MESSAGE,2-ROLLBACK_MESSAGE ,进行事物消息的继续回查,checkLocalTransaction:本地事物状态回查方法,broker端接收事物消息后定时回查消息,2、消息发送失败,不执行本地方法,localTransactionState 事物状态设置为回滚。

2023-10-16 08:04:27 256

原创 源码分析RocketMQ之RouteInfoManager

在RocketMq中,默认情况下,Broker服务器会每间隔30秒向集群中所有的NameServer发送心跳信息。心跳包发送完之后,就是 NameServer 处理心跳包了,NameServer 会将心跳信息保存起来。路由管理功能是RocketMq的核心功能之一,包括了订阅管理、连接管理。定时检测 NameServer会开启一个探测线程,

2023-05-14 14:46:03 147

原创 源码分析RocketMQ之NameServer

这里是有读写锁进行并发控制,使用非线程安全容器存储key namespace value map key, value。加载 kvConfigPath 路径C:\Users\asus\namesrv\kvConfig.json 文件。通过file读取文件,将读取到的内容加载进configTable缓存中。persist printAllPeriodically 持久化配置。deleteKVConfig 删除配置。getKVConfig 获取配置。putKVConfig 添加。

2023-05-07 18:47:02 155

原创 源码分析RocketMQ之NameServer

整体架构图从部署架构图可知NameServer与所有的broker通讯,NameServer集群之间互不通信。主要功能包括1、Broker管理1.1 维护Broker集群 clusterAddrTable1.2 Broker信息 接收Broker注册信息并保存作为路由信息的基本数据1.3 Topic消息路由信息,消息发送时根据路由表进行负载均衡1.4 Broker状态信息,NameServer每次收到心跳包后会更新心跳时间1.5 Broker 的消息过滤订阅信息。

2023-05-07 18:18:21 488

原创 源码分析RocketMQ之下载以及本地启动调试

RocketMq建议学习官网。

2023-04-26 21:19:32 175

原创 mysql5.7 glibc centos7.4 安装实战

mysql 下载链接选择如下版本下载。

2023-04-25 21:27:54 101

原创 源码分析RocketMQ之broker-文件恢复

源码分析RocketMQ之broker-文件恢复

2022-08-27 08:56:00 289

原创 源码分析RocketMQ之broker-消息ACK机制

源码分析RocketMQ之broker-消息ACK机制

2022-08-27 07:23:05 618

原创 源码分析RocketMQ之broker-处理Consumer请求

源码分析RocketMQ之broker-处理Consumer请求

2022-07-01 07:14:41 358

原创 源码分析RocketMQ之Broker-内存映射刷盘流程

源码分析RocketMQ之Broker-内存映射刷盘流程

2022-06-26 22:35:41 328

原创 淘宝购物车分页方案研究

淘宝购物车分页方案研究

2022-06-25 13:27:53 977

原创 源码分析RocketMQ之Broker-消息存储

源码分析RocketMQ之Broker-消息存储

2022-06-22 07:22:32 211

原创 源码分析RocketMQ之Broker-消息接收

源码分析RocketMQ之Broker-消息接收

2022-06-20 08:00:04 423

原创 源码分析RocketMQ之Broker-启动流程

源码分析RocketMQ之Broker-启动流程

2022-06-19 15:27:08 590

原创 源码分析RocketMQ之Producer-消息的发送

源码分析RocketMQ之Producer-消息的发送

2022-06-18 16:02:23 387

原创 管理企业api接口,用企业api接口自动化管理平台,如此简单

管理企业api接口,用企业api接口自动化管理平台,如此简单

2022-06-17 20:57:08 697

原创 源码分析RocketMQ之Producer-获取topic路由信息

源码分析RocketMQ之Producer-获取topic路由信息

2022-06-15 07:37:18 914

原创 源码分析RocketMQ之Producer启动

源码分析RocketMQ之Producer启动

2022-06-13 22:19:23 461

原创 源码分析RocketMQ之Producer

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基

2022-06-12 22:29:02 1117

原创 缓存重建线程

缓存重建线程单例模式 缓存重建内存队列 ArrayBlockingQueue 阻塞内存队列,默认1000长度属性ArrayBlockingQueue queue方法阻塞queue.put() 在队尾插入元素,如果队列没有空间阻塞放入queue.take() 从队头获取元素,如果没有数据阻塞获取如果没有数据抛出异常add 在队尾插入元素,如果队列没有空间抛出异常remove 在队头获取并移除元素,如果没有数据抛出异常特殊值offer 在队尾插入元素,如果队列满了返回fal...

2022-03-17 21:57:27 280

原创 DB数据变更缓存分布式更新的zk分布式锁解决方案

DB数据变更缓存分布式更新的zk分布式锁解决方案KafkaConsumer kafak消费线程,DB数据变更后,将消息推送到kafka topic,由消费线程进行消费属性1、ConsumerConnector 封装客户端连接,通过Consumer.createJavaConsumerConnector进行创建2、ConsumerConfig 消费者配置类,构造函数通过Properties props入参传入 zookeeper.connect zk连接地址 group.id 消费...

2022-03-16 07:19:43 1888

原创 数据库与redis缓存双写数据不一致方案

数据库与redis缓存双写数据不一致方案数据库与缓存不一致只有在出现并发读写时才会出现,如果每天上亿的流量,每秒并发读是几万,每秒只要有更新缓存的请求,就很可能会发生数据库与缓存不一致的情况。解决方案。1、简单方案 先更新数据库,再删除缓存, 延时再删除缓存。2、数据库和缓存更新读取异步串行化 更新数据的时候,根据数据的唯一标识,将操作路由后,发送到一个jvm内部队列,读取数据的时候,如果发现数据不在缓存中,那么将读取数据操作, 根据数据的唯一标识,将操作路由发送到相同jvm的内部队列,一..

2022-03-06 15:27:37 539

原创 redis实践中的常见问题以及优化

redis实践中的常见问题以及优化1、fork耗时导致高并发请求延时 生成RDB快照、AOF重写,耗费磁盘的IO的过程,主进程fork子进程,子进程需要拷贝父进程的空间内存页表 一般来说,如果父进程内存1G数据,那么fork可能会耗费20ms左右,通过info stats中的latest_fork_usec,可以看到最近一次fork的时长。 所以一般优化控制redis内存在10G以内。2、AOF阻塞问题 redis将数据写入AOF缓冲区,会单独开一个线程做fsync,每秒一次,redis...

2022-03-05 20:19:08 673

原创 Spring@EnableAspectJAutoProxy注解AOP源码解析

一、AOP简介Spring AOP 模块提供了一个符合AOP联盟标准的面相切面编程的实现,它让你可以订阅例如方法拦截器和切点,从而将逻辑代码分开,简单它们之间的耦合性。AOP可以让一组类共享相同的行为。Spring只支持方法级别的连接点Spring 提供了4种类型的AOP支持1、基于代理的Spring AOP2、纯粹Pojo切面3、@Aspect驱动的切面4、注入式的Aspectj的切面前三种都是Spring Aop实现的变体,Spring Aop构建在动态代理之上,因此Spring...

2022-02-13 20:38:04 456

原创 BeanFactory源码体系解析--AbstractAutowireCapableBeanFactory五

a

2022-02-13 14:43:39 274

原创 BeanFactory源码体系解析--DefaultListableBeanFactory四

aa

2022-02-12 14:31:41 448

原创 BeanFactory源码体系解析--ConfigurableListableBeanFactory三

aa

2022-02-12 10:05:30 408

原创 BeanFactory源码体系解析--AutowireCapableBeanFactory二

aa

2022-01-12 21:10:15 453

原创 BeanFactory源码体系解析一

BeanFactory:用于管理Bean的顶级工厂接口,它负责生产和管理bean,职责包括实例化、定位、配置应用程序中的对象,以及建立这些对象间的依赖。1、FACTORY_BEAN_PREFIX= "&" 对FactoryBean的转义定义,使用bean名字检索FactoryBean得到的是工厂生成的对象,得到工厂实例本身需要转义。2、getBean(String name) 根据Bean名字或者bean实例,单例对象在容器启动时进行创建。3、getBean(String name, @...

2022-01-11 20:48:05 326

原创 AnnotationConfigApplicationContext容器刷新源码分析二

refresh容器刷新方法1、prepareRefresh 调用容器准备刷新的方法,获取容器的当前时间,给容器设置同步标识2、obtainFreshBeanFactory 返回beanFactory实例 1、子类实现启动refreshBeanFactory 2、继承父类GenericApplicationContext构造方法中new DefaultListableBeanFactory()创建beanFactory实例。...

2022-01-10 21:09:21 126

原创 AnnotationConfigApplicationContext读取解析源码分析一

AnnotatedBeanDefinitionReader:读取注解的Bean定义读取器,并将其设置到容器中1、 doRegisterBean Bean定义读取器想容器注册注解Bean定义类ClassPathBeanDefinitionScanner:一个扫描指定类路径中注解Bean定义的扫描器,并将其设置到容器中AnnotationConfigApplicationContext 多态构造方法1、默认构造方法初始化一个空容器,不包含任何Bean信息,需要在稍后通过调用其()方法配置...

2022-01-10 07:55:42 271

原创 BeanDefinitionReader源码解析

BeanDefinitionReader接口:BeanDefinitionReader 读取、解析 Resource 资源

2022-01-08 16:55:35 182

原创 RootBeanDefinition解析

RootBeanDefinition 继承关系图AttributeAccessor接口作用:定义用于附加和访问元数据的通用接口 //设置属性值 void setAttribute(String name, @Nullable Object value); //获取指定属性名称的值,如果不存在返回null Object getAttribute(String name); //删除指定的name的属性,如果不存在返回null @Nullable ...

2022-01-07 20:57:20 731

原创 auto-api api自动化管理集成平台,api接口请求返回参数管理,api自动化测试

通常的文档生成工具,都需要开发人员编写注解或注释,代码入侵太强,而且费事,我希望api工具具有如下功能:自动解析代码,根据代码生成api接口,如果有注释就自动扫描注释(自动集成swagger),没有就以代码为准,生成的api接口如果有不合理的地方,可以在页面进行修改,利用web页面的表单编辑修改要比在代码里处理方便直观。 Api接口调整自动完成维护,自动通知开发测试改动部分内容(集成邮件或极光推送等)。 自动按项目模块结构归(移植对接yapi项目目录结构),可自由调整目录结构。 开发测试ap.

2020-06-04 11:41:29 1449

原创 权限设计位移运算项目实战方案

权限系统作为每个系统基础部分,如何优雅的设计权限相关的操作逻辑是每个系统绕不开的,权限一般区分数据权限、菜单功能权限。数据权限:一般与组织机构有关,如一个公司的组织架构可能由一级公司-二级公司-店铺,这样层级授权。用户直接与拥有数据权限的组织机构关联菜单功能权限:...

2020-06-04 10:48:26 263

原创 在Spring AOP代理过的对象上支持dubbo annotation配置事物失效问题

在Spring AOP代理过的对象上支持dubbo annotation配置dubbo annotation方式配置 在A.insert服务中有两个@resource注入的service.insert 第二个inert报错,期望两个service操作回滚,使用xml申明式事物,实际没有回滚,dubbo改成xml配置,正常回滚。整理了testcase:https://pan.baidu.com/s/...

2018-03-20 10:03:17 2137 1

原创 elasticsearch MapperParsingException[failed to parse [auditDate]]; nested: NumberFormatException[Fo

MapperParsingException[failed to parse [auditDate]]; nested: NumberFormatException[For input string: "2017-07-12 08:49:33"];at org.elasticsearch.index.mapper.FieldMapper.parse(FieldMapper.java:298)

2017-09-18 14:28:35 13217

原创 org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is ja

org.springframework.data.redis.RedisSystemException: Unknown redis exception; nested exception is java.lang.NullPointerExceptionat org.springframework.data.redis.FallbackExceptionTranslationStrategy

2017-09-13 10:56:17 30902

Elasticseach

Elasticseach开发帮助,环境搭建,集群部署,3IK分词、pinyin插件安装,spring集成

2017-08-01

oracle学习资料

由浅及深的了解oracle学习资料。

2012-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除