自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Apache NiFi 自定义Processor处理器编写

当我们在使用ApacheNiFi时,当已有的processor不支持我们现有需求时,需要我们自己编写自定义处理器并且发布,以至于更好的支持我们的需求;下面我写一个将JSON数据转化为Excel并且输出到本地文件的自定义Processor Demo

2024-06-19 15:40:54 574

原创 Apache NiFi 安装和使用

点击工具栏处的Processor,拖拽到工作区,搜索处理器ConvertAvroToJSON,因为在第一步中,我们通过sql查询到的数据为Avro格式,所以在这里需要转化为json在进行输出。可视化编程:基于Web图形界面,用户可以通过拖拽、连接、配置等操作完成基于流程的编程,实现数据采集、处理等功能。数据处理与分发:NiFi是一个统一的、与数据源无关的大数据集成平台,能够自动化管理系统间的数据流。高度可配置:支持高度可配置的指示图,用于指示数据路由、转换和系统中流转关系。配置完之后点击这里,启用连接。

2024-05-30 15:46:59 1052

原创 MybatisPlus修改某个特定字段的值

其中updateWrapper中.in(DataLayoutModuleInfo::getModuleCode, moduleCodeList)为条件。其中Service层的写法和baseMapper写发稍有不同,底层Service也是调用的baseMapper。当我们想修改数据时,想根据id或者其他的条件只修改对象的某几个字段而不想修改所有字段,下面这种写法简单且高效。set为你想要修改的字段和修改后的值。

2024-05-30 15:22:08 635

原创 Java Map转换为JSONObject乱序且保留值为null的key

在Java中,当讲HashMap转化为JSONObject,会有key乱序且值为null的key被自动过滤掉,如以下代码。可以看到,输出的顺序并不是我们put的顺序,并且key_5没有了。

2024-05-11 15:14:25 494 3

原创 获取spring resource目录下的文件

在Spring框架中,你可以使用Resource接口和ResourceLoader接口来获取位于classpath、文件系统或其他位置的文件。对于resource目录下的文件(这通常指的是类路径下的一个目录),你可以使用ClassPathResource或者直接注入一个Resource类型的bean。

2024-04-30 15:12:25 227 1

原创 spring validation 常用注解详解

背景:当前端调用后端接口时,接口参数校验是必不可少的,spring validation提供了一系列校验规则,直接使用注解即可,无需手动写校验逻辑。Java代码,添加@Valid注解。

2024-04-30 14:41:25 424 2

原创 Java策略模式Demo

当我们的业务逻辑根据不同的场景要做不同的处理时,需要大量的if判断加处理,这样导致代码臃肿且拓展性低;下面我用一个简单的业务,使用策略模式去处理不同的场景;业务场景为在IM聊天中,根据不同的消息类型,去处理不同的消息。4.创建自定义注解MessageTypeAnnotation。2.创建各业务实现handler。6.创建消息handler工厂。5.创建参数上下文对象。

2024-04-19 11:05:13 270 1

原创 Java责任链模式Demo

4.定义每个执行单元业务处理handler,(order从小到大执行)5.定义责任链配置(项目启动时初始化执行顺序,以及调用执行入口)2.定义全局上下文参数。3.定义处理器抽象类。

2024-04-19 10:29:26 341 1

原创 分布式事务的几种实现方案

可靠事件模式2.0(去哪网使用)(需要第三方协调服务的健壮性):每个参与方都在本地维护一个本地事务表,A调B、C,A调B失败,A调C成功,B失败有可能是真的失败,也有可能是超时失败实际成功,那么在B端就记录的是成功,这时候需要一个第三方服务,复制协调对比每一方的事务结果,如果想刚刚这种情况B实际是调用成功了,则不进行回滚或者补偿,把A端记录B的调用改为成功,如果B确实是失败了,根据业务补偿B,或者回滚A和C都行。TCC模式:将一个任务拆分三个操作:Try、Confirm、Cancel;

2024-04-18 16:53:24 180

原创 Elasticsearch 查询优化策略有哪些

建立冷热索引库(可用固态硬盘存放热库数据,普通硬盘存放冷库数据),热库数据可以提前预热加载至内存,提高检索效率。控制字段的数量,业务中不使用的字段,就不要索引。如果业务场景中的过滤查询比较多,建议将。避免大型文档存储,默认最大长度为。设置大一些,以提高查询速度。不要返回无用的字段,使用。

2024-04-18 16:48:47 119

原创 线上CPU高问题排查

当我们的应用上线之后,运行一段时间发现CPU居高不下,现在我来带领大家一起排查问题所在。首先,使用top命令查看cpu高的进程,发现进程号为3633的进程cpu占用99%进入该进程,查看线程的cpu占用情况。获取到线程id后,转化为16进制。上图中定位到了问题出现在类。线上CPU高问题排查。

2024-04-18 16:20:19 296

原创 DragonflyDB调研

简介:全世界内存最快的数据库,Dragonfly是一种针对现代应用程序负荷需求而构建的内存数据库,完全兼容Redis和Memcached的 API,迁移时无需修改任何代码。相比于这些传统的内存数据库,Dragonfly提供了其25倍的吞吐量,高缓存命中率和低尾延迟,并且对于相同大小的工作负载运行资源最多可减少80%。Dragonfly始于一项实验,旨在探索如果在2022年重新设计内存数据库,它会是什么样子。

2024-04-18 16:12:27 1165 1

原创 Navicat 查看Mysql blob字段

使用Navicat直接查询blob类型字段是看不到具体内容的,需要使用cast,直接上代码。

2024-04-18 16:00:45 435

原创 Java接入ChatGPT API

如今chatgpt运用在各行各业,那么Java接入ChatGPT API如何接入呢,直接上代码。

2024-04-18 15:42:23 266

原创 Java spring替换word模版数据

在使用spring开发时,将word文件中的变量替换成自己想要的数据,如下图中,要讲word中的变量{{name}} {{age}},替换成 ‘张三’‘18’第三步:执行之后的效果。第二步:Java代码。

2024-04-18 15:35:29 407 1

原创 Spring项目打包后将resource下的资源压缩导致文件破损,文件流不可用

您可以在项目运行时指定外部文件的路径,或者将文件放在服务器的文件系统中,并在应用中引用这些外部文件的路径。这样可以确保Word文件不会被压缩,避免文件损坏的问题。当我们使用spring开发时,经常会将一些资源放到resource目录下,方便我们获取和使用,但是,在打包项目时,资源文件会被压缩到JAR或WAR包中,这可能导致Word文件等二进制文件损坏。例如,在Maven中,你可以使用maven-resources-plugin来排除对特定文件的压缩,如下图中,将docx排除。

2024-04-18 15:22:37 382 1

空空如也

空空如也

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

TA关注的人

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