摘要: 在 RabbitMQ 的基础功能中,并没有定时任务或者延时任务这种功能,然而很多业务都有此类需求,但是我们可以依赖 RabbitMQ 的消息自动超时和死信交换机等基本的属性来实现这类需求,大致思路如下: 1.通过计算 任务执行时间 和 当前时间的时间差,作为消息的超时时间(Expire)属性; 2. 阅读全文
posted @ 2018-03-12 14:06 MalcolmFeng 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 最近由于公司项目需要,了解了很多关于类加载方面的知识,给项目带来了一些热部署方面的突破。 由于最近手头工作不太忙,同时驱于对更底层知识的好奇与渴求,因此决定学习了一下 class 文件结构,并通过一周的不懈努力,已经掌握了class 的文件结构,并用 java 实现了一个简单的反编译器:读取 cla 阅读全文
posted @ 2018-01-22 14:56 MalcolmFeng 阅读(3791) 评论(3) 推荐(2) 编辑
摘要: 当一个java项目启动的时候,JVM会找到main方法,根据对象之间的调用来对class文件和所引用的jar包中的class文件进行加载(其步骤分为加载、验证、准备、解析、初始化、使用和卸载),方法区中开辟内存来存储类的运行时数据结构(包括静态变量、静态方法、常量池、类结构等),同时在堆中生成相应的 阅读全文
posted @ 2018-01-02 14:21 MalcolmFeng 阅读(5294) 评论(0) 推荐(2) 编辑
摘要: 以下以调用baseMapper的selectById为例,剖析Mybatis plus的执行逻辑。 总体来看,Mybatis plus通过两层JDK动态代理的方式,实现了SQL的执行。 第一层动态代理为:MybatisMapperProxy,内部获取到了SqlSessionInterceptor; 阅读全文
posted @ 2022-03-14 18:22 MalcolmFeng 阅读(1327) 评论(0) 推荐(0) 编辑
摘要: 最近发现RocketMQ消费者集群容器化后,导致Topic中消息囤积,无法正常消费。 0x01 原因: Docker容器采用Host网络模式,启动后默认创建的虚拟网桥IP地址一样,且容器内启动的JVM pid都是1。rocketmq默认会使用ip@pid作为instanceName,由于instan 阅读全文
posted @ 2022-01-11 17:45 MalcolmFeng 阅读(262) 评论(0) 推荐(0) 编辑
摘要: three.js借助tween.js快速创建补间动画,可以非常方便的控制机械、游戏角色运动。当然也可以控制three.js相机的移动。 注:从github上能够搜到两个tweenjs相关的项目,本示例为使用tweenjs/tween.js。 一、引入tween.js: 从官网检出代码,并打包. gi 阅读全文
posted @ 2022-01-11 17:39 MalcolmFeng 阅读(1474) 评论(0) 推荐(0) 编辑
摘要: 1、下载rpm 地址:https://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5/RPMS/x86_64/ 下载所有kudu开头的rpm包 2、安装: rpm -ivh * --nodeps 3、启动: service kudu-master st 阅读全文
posted @ 2020-07-24 15:31 MalcolmFeng 阅读(3536) 评论(0) 推荐(0) 编辑
摘要: 1、在192.168.0.1安装kafka后,复制到192.168.0.1、192.168.0.3这两台虚拟机上。 2、修改server.properties文件中的brokerId 3、配置连接zookeeper集群地址,修改192.168.0.1:2181,192.168.0.2:2181,19 阅读全文
posted @ 2020-07-24 15:22 MalcolmFeng 阅读(956) 评论(0) 推荐(0) 编辑
摘要: 基于Kafka单机单节点部署,讲config目录下的server.properties文件复制两份,分别为 server-1.properties 、server-2.properties > cp config/server.properties config/server-1.propertie 阅读全文
posted @ 2020-07-24 15:15 MalcolmFeng 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 1、下载地址:https://mirrors.bfsu.edu.cn/apache/kafka/2.5.0/kafka_2.13-2.5.0.tgz 2、下载后,解压:tar -zxvf kafkaxxxxxx.tgz 3、删除 LICENSE、NOTICE 、site-docs 4、进入bin目录 阅读全文
posted @ 2020-07-24 15:10 MalcolmFeng 阅读(2043) 评论(0) 推荐(0) 编辑
摘要: 登录的代码示例为: Subjectsubject=SecurityUtils.getSubject(); UsernamePasswordTokenusernamePasswordToken=newUsernamePasswordToken( username, password ); userna 阅读全文
posted @ 2020-05-09 18:05 MalcolmFeng 阅读(450) 评论(0) 推荐(0) 编辑
摘要: webservice是基于http协议和xml语法的一种网络接口服务,由于历史原因,在很多政府和科研领域应用较多。当然,由于json数据格式的兴起,webservice技术逐渐开始淘汰。 webservice和微服务、restful api一样,都是应用层协议的一种实践。主要的关键词有: XML. 阅读全文
posted @ 2019-08-09 16:21 MalcolmFeng 阅读(838) 评论(0) 推荐(0) 编辑
摘要: docker的安装: 移除旧的版本: $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker- 阅读全文
posted @ 2019-08-09 16:09 MalcolmFeng 阅读(186) 评论(0) 推荐(0) 编辑