自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 javassist修改class文件内容

1.背景在某些情况下,无法获取或修改源码情况,我们需要直接修改class字节码文件,以解决项目中运行存在的问题。在网上查询一番后,尝试过使用Jclasslib,虽然也很强大,但是对于使用者不是很友好,一方面是直接和字节码打交道,另一方面是只能处理变量值修改等简单的情况。相比之下,javassist就友好很多,用代码的形式去修改class内容,并且功能也基本满足我们的修改需求。2.javassist中文文档如果需要深入学习的可以直接在网上找到相应的中文文档,方便学习摸索。3.软件准备对于反编译的软

2021-10-21 17:02:40 1146

原创 mybatis-plus配置自定义数据类型TypeHandle

1.背景mybatis-plus在mybatis的基础的上,做了全面增强功能,极大的提高了我们的开发效率。有时候我们使用的实体字段类型,与数据库创建的字段类型无法对应上,这时候就需要配之自定义的类型处理类,来处理代码和数据库之间的数据流转。2.举例我们有个实体类TestEntity,使用注解@TableName表示对应数据库表名为test@Data@TableName(value = "test")public class TestEntity{ private static final l

2021-09-09 21:21:14 3991

原创 nginx转发sftp请求,ssh远程登录

1.背景公司内部为了加强服务器网络的权限管控,对某些网端进行了登录限制,也就是说,即使你有服务器的账号密码,但是想要远程登录到服务器也是没有权限的。有些权限控制了太死,感觉是为了限制而限制,比如开发人员需要获取测试服务器上的系统日志,也不允许开放权限,导致解决问题的效率大大下降。和运维人员沟通无效,之能自己找路子。2.nginx配置代理sftp请求安装一个nginx,安装编译必要的模块,通过监听不同的端口,管理转发至不同的服务器上。下载nginx包wget http://nginx.org/d

2021-03-25 13:55:01 3234

原创 springboot 2.x 实现minio文件上传下载

1.背景公司早前使用的是fastdfs文件存储服务器,并且是以单点的形式存在了多年。不管从维护性和未来的扩展性考虑,决定进行升级更换,调研之后,发现minio比较适合公司现状,也是未来的趋势。2.升级minio,如果兼容fastdfs数据?由于fastdfs的文件不能直接迁移至minio中使用,文件链接地址存储在数据库中,格式也大不相同,只能进行逐步手动迁移的思路进行。(1)对于有时效性的文件,比如要求存在3个月,半年的这种文件,可以不进行迁移,保留fastdfs服务器的运行,提供文件链接下载功能。

2021-03-23 14:45:20 1135

原创 java上传文件到minio报错解决DateTimeParseException

java上传文件到minio报错解决DateTimeParseException在使用java sdk方法putObject上传文件到minio服务器的时候,本来本地测试的时候一切正常,但是将程序上传到服务器的时候就报错:java.time.format.DateTimeParseException: Text '20210318T082215Z' could not be parsed: Unable to obtain ZonedDateTime from TemporalAccessor: {

2021-03-19 09:06:31 3088 7

原创 微服务日志收集方案

微服务日志收集方案背景设计思路架构图搭建流程背景公司内部使用的是springcloud,随着业务逐步扩大,微服务数据也逐步增多,运行平台不仅涉及到腾讯云,超融合,微服务散落在不同的机器上,并且都是部署在docker环境中,日志的查找对于开发运维人员来说,十分困难,还是要进行日志的统一收集管理,方便排查问题,提高效率。设计思路在网上看了一些思路,大体差不多,没有说哪个是最好的,主要是适合自己的,就是看下自己的资源情况,这里说的资源情况,不是说服务器,也包括自身所处的环境和技术条件。打个比方,有个方案是

2020-11-27 14:22:55 3028

原创 数据同步中间件datalink从oracle同步数据到greenplum

之前一段时间,需要搭建数据实时同步的一个平台,了解到datalink这个已经开源的中间件,自己使用了一段时间后,学习到蛮多的,特别是整个平台的架构设计。由于已经有一段时间不接触了,怕忘记,写写自己的心得体会。项目开源地址:https://github.com/ucarGroup/DataLink这里已经有源码,也包括了说明文档,这里就不一一介绍了。如果源端是mysql,这个中间已经非常友好的支持了,以及不同类型的数据源。支持各种类型数据源增量数据的实时同步。但是对于oracle的增量数据读取,暂时还

2020-07-30 16:47:17 1058

原创 springcloud之admin的搭建使用

微服务的优点是服务模块化,高内聚,低耦合。随着服务数量的增多,服务的监控也变得异常困难。springcloud引入提供了admin组件,人性化UI管理界面可以对所有服务的运行状态进行监控,并提供告警等功能。一.springboot-admin简介显示健康状况显示详细信息,例如JVM和内存指标数据源指标缓存指标关注并下载日志文件查看jvm系统和环境属性查看Spring Boot配置...

2020-03-25 16:19:02 1812 2

原创 java使用itextpdf生成pdf并填充自定义数据

项目中有个需求,对于已有的数据生成对应的发票pdf或者合同pdf,这些pdf具有一些特性,就是pdf有固定的格式,类似于表格,我们只要往表格里面填充数据即可。当然,也会涉及到签章,二维码等需求。总体思路:1.得到需要生成的pdf的初始模板,包含格式,只是不含数据2.使用工具Adobe Acrobat,编辑pdf模板,在对应区域生成文本域,每个域都有自己的name3.java中使用itext...

2020-03-13 10:22:40 6678 1

原创 任务调度中心xxl-job的搭建使用

1.背景项目场景中,往往许多场景中需要分布式任务调度,而目前基于springcloud的项目中,因业务需求逐步的完善的,许多模块中也添加了自己的定时任务,除了代码维护性低,也存在以下问题:(1)同一服务多个实例的任务存在互斥时,需要统一协调(2)定时任务的执行需要支持高可用、监控运维、故障告警(3)需要统一管理和追踪各个服务节点定时任务的运行情况,以及任务属性信息,例如任务所属服务、所属责...

2020-03-12 14:20:38 968

原创 springcloud之config配置中心搭建

在使用springcloud做项目,我们会把原有的各个模块需要拆分成多个服务,服务数据数量多,且很多的配置内容重复,且维护的代价太高。比如修改数据库的ip,修改了某个中间件的ip,这就需要修改每个涉及到这个配置的服务,可想而知需要做多少的重复工作,而且手动修改还十分容易出错。使用配置中心就可以让维护人员只修改一个地方(一般是使用git),并主动通知对应的服务,取更新拉取最新的配置。1.配置中心...

2020-03-12 12:02:31 214

原创 springcloud之eureka搭建

springcloud之eureka搭建注册中心在于整个springcloud系统架构中,扮演着十分重要的角色,负责着服务发现,心跳检测,服务调度等功能,且注册中心的高可用意味着整个系统的高可用。鉴于springcloud包含众多组件,所以在idea创建项目,推荐使用子模块的形式来建立各个项目组件。1.创建项目创建一个springboot项目,添加必要的依赖。2.添加子模块在项目基础上...

2020-03-12 10:37:53 141

原创 ogg同步mysql数据到greenplum

ogg同步mysql->kafka->greenplum新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出...

2020-03-12 09:50:34 271

空空如也

空空如也

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

TA关注的人

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