- 博客(26)
- 资源 (6)
- 收藏
- 关注

原创 如何实现自定义数据库账号密码加解密
在实际的项目开发中我们有时候基于安全考虑需要在项目配置文件中对数据库账号密码做加密处理,这个时候我们就可以使用jasypt这个组件来实现。如果有些项目安全等级要求比较高,可能加密的算法需要自定义或者使用SM4国密算法来实现加解密,那么这个时候我们该如何使用jasypt这个组件来实现自定义算法加解密?
2023-08-31 16:25:14
368

原创 通过logstash消费kafka数据到elasticsearch
logstash是什么?Logstash是一个开源数据收集引擎,具有实时管道功能。 Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。 数据往往以各种各样的形式,或分散或集中地存在于很多系统中。关于logstash的介绍官网写的非常详细,这里就不再过多介绍了,感兴趣的小伙伴可以自行去官网查看,我们今天的主要目的是如果通过logstash从kafka消费数据,并对数据进行简单的处理然后写入到elasticsearch中一、运行kafka并写入测试数据我们直接
2022-05-06 14:37:31
6435

原创 后端查询es数据
一、构建es连接本次我们通过RestClien来连接es服务端,代码很简单,就不废话了,直接上代码: HttpHost httpHost1 = new HttpHost("192.168.1.100", 8000, "http"); HttpHost httpHost2 = new HttpHost("192.168.1.101", 8000, "http"); HttpHost httpHost3 = new HttpHost("192.168.1.102", 80
2021-06-08 11:37:32
1423
2

原创 三分钟玩转git
三分钟玩转git常用命令清单初级用法· clone· pull· add· commit· push· checkout进阶用法分支操作查看分支切换分支合并回退新建删除remote日志修改个人信息更新本地的分支列表 git作为目前世界上最先进的分布式版本控制系统,我们怎么能不会操作呢?相信我,看完我今天的文章,你也是git大神!常用命令清单命令解释init创建一个空的Git仓库或重新初始化一个现有的add将文件内容添加到索引branch列出,创建或删除分支
2020-12-23 16:36:28
265

原创 如何实现自定义注解
如何实现自定义注解 在我们实际开发过程中如果能合理的运用自定义注解,则会大大减少我们代码的开发量。那怎么才能实现自定义注解呢?废话不多说,直接上干货!一、创建注解 这一步呢,我们可以理解成对应的实体类,我们要自定义注解,也需要这么一个东西,注解的名称,有哪些属性等等。package org.disp.kingmouse.annotations;import java.lang.annotation.ElementType;import java.lang.annotation.Retent
2020-06-02 18:51:13
16627
6
原创 解决ImageIO无法读取部分JPEG格式图片问题
在优化在线聊天功能时,我遇到了一次图片上传失败的问题,原以为是简单的文件格式限制,经过排查发现实际原因与 Java 的 ImageIO.read() 方法无法处理 .webp 格式图片有关。文章详细记录了调试过程,从文件格式的识别,到通过日志与代码逐步排查,最终发现 ImageIO 使用的 SPI 机制只支持常见格式(如 PNG、JPEG 等),导致了问题的出现。这篇文章分享了排查思路,揭示了 Java 在处理新兴图片格式上的局限性,帮助开发者应对类似问题。
2024-10-15 17:28:30
1015
原创 freeswitch中通过嵌入式脚本监听会议事件
如果我们需要在freeswitch中来执行这个脚本可以在控制台或者在fs_cli中使用lua或者luarun来执行。如果我们需要该脚本长期运行,并且跟随freeswitch一起启动,我们可以在frewswitch中作如下配置,找到freeswitch/conf/autoload_configs/lua.conf.xml文件增加如下配置。上面介绍的是使用嵌入式的脚本来完成会议相关事件的监听,如果是大事件更推荐使用event socket来处理,以Java语言为例,我们可以使用。配置完毕重启或者执行。
2024-01-24 18:20:09
1056
原创 Redisson 分布式锁的最佳实践
Redisson 提供了简单而强大的分布式锁解决方案,通过合理设置锁的持有时间和使用看门狗进行续约,可以确保系统在高并发环境下的稳定性和可靠性。在实际应用中,开发人员可以根据业务需求选择合适的锁策略,并进行必要的异常处理,以实现分布式系统的高效运行。
2023-11-22 09:54:42
1129
原创 Maven POM 学习笔记
Maven POM 学习笔记 学习了这么久的spring boot,突然后发现一直在使用的maven竟然不是很了解,然后又赶紧去恶补了一下maven相关知识。今天主要给大家分享一下关于我学习maven POM时的一些笔记。重要提示 阅读Maven官网介绍就会发现他们是这样描述Maven的:约定优于配置所以我们这使用Maven来构建项目的时候一定要遵守Maven所规定的一些规则,附带一份Maven项目的目录结构:目录目的${basedir}存放pom.xml和所有的子目录
2020-08-04 15:40:49
233
原创 如何通过js获取输入框内容
如何通过js获取输入框内容例如我们页面上定义了一个输入框:<input type="text" name="message" id="message" placeholder="请输入" />JavaScript:var value = document.getElementById("message").valuejQuery:var value = $('#mess...
2020-03-30 22:28:09
5639
2
原创 如何使用notepad++修改服务器文件
不管是开发还是运维我们今天会遇到修改服务器文件的,但是我们发现其实在各种终端上修改都是麻烦的,并不能像我们在Windows上修改文件这么方便,但是今天我给小伙伴分享如何能像在Windows上一样编辑服务端文件首先我们需要有notepad++(sublime等等也是一样)1、安装插件:NPPFTP打开插件→插件管理,搜索NPPFTP,点击安装即可(安装完成记得重启notepad++)2...
2020-03-28 20:18:51
3060
2
原创 Linux下查找日志命令大全
Linux下查找日志命令大全grepgrep这个命令肯定是大家使用最多的了,但是这个命令到底怎么用呢,你都掌握了么?grep:查找文件中包含指定文本的命令语法:grep "测试" test.log解释:查找test.log所有包含"测试"字符串的行基本用法这个是最基础的语法,但是仅仅是这远远不够,我们来看下它有哪些参数(只介绍最常用的一些参数):-a或者-text: 不忽略二进...
2020-03-27 17:27:58
9331
2
原创 如何批量消费队列中数据
如何批量消费队列中数据队列的消费模式在我们实际开发过程中经常会处理各种大批量数据入库,这个时候我们就会到队列,将数据先写入队列中,然后开启多个消费线程慢慢消费入库。从队列中消费数据有两种方式:单条消费批量消费我们今天分别来实现这两种消费方式存数据到队列存数据相对比较简单,这里我推荐大家使用BlockingQueue,该队列为阻塞队列,非常好用!//创建队列 Blocking...
2020-03-26 16:00:49
2912
3
原创 还不会kafka?这一篇就够了!
一、 kafka是什么?kafka:一个分布式流处理平台1、 流处理平台特点可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。可以储存流式的记录,并且有较好的容错性。可以在流式记录产生时就进行处理。2、 概念Kafka作为一个集群,运行在一台或者多台服务器上Kafka 通过 topic 对存储的流数据进行分类每条记录中包含一个key,一个value和...
2020-03-25 13:22:46
1526
5
原创 服务启动之前初始化数据
服务启动之前初始化数据我们经常会遇到服务在启动后第一件事就是加载某些特定的数据,之前跟大家说个可以实现ApplicationRunner这个接口,重写里面的run()方法;这个方法虽然可以实现这个功能,但是很多时候并不能满足我们的需求,例如:我们服务启动后需要加载流程数据,只有加载完流程数据之后,用户访问才能获取到正确的数据,但是用我们之前的方法去实现`ApplicationRunner`接口...
2019-09-17 17:08:13
748
1
原创 如何过滤一次请求的完整日志
要求:将一次请求的所有日志添加唯一标识,方便过滤一次完整请求的日志定义拦截器 继承 HandlerInterceptorAdapterpackage com.csc.contact.ykcacccharge.LogBackMdc;import org.slf4j.MDC;import org.springframework.web.servlet.handler.HandlerInter...
2019-07-17 20:52:17
675
原创 JAVA中如何优雅的关闭各种流
在JAVA 中我们会遇到各种流,每次写的时候我们需要在finally方法中关闭流,在关闭之前我们还要判断流是否为null,很麻烦!原来的写法:(向TXT中写入内容)public void testOne() { File writeName = new File("output.txt"); // 相对路径,如果没有则要建立一个新的output.txt文件 ...
2019-07-09 16:48:01
8916
3
原创 Spring Boot 服务启动完运行指定方法
创建一启动类实现ApplicationRunner 就可以实现了(可以写多个类,通过 @Order(i) i 可以是1,2,3等等来控制执行顺序 )package com.des.mouse.king.ivrsDispatch.flowDataInterchangeService;import org.slf4j.Logger;import org.slf4j.LoggerFact...
2019-06-21 19:13:09
1146
1
原创 Redis发布订阅
最近项目要用到消息通知,于是用了Redis的发布订阅来实现,废话不多说,直接上代码!订阅Redis:(subscribe 是一个阻塞事件,当订阅成功后就会阻塞,除非去掉订阅才能运行下面的事件,所以我们需要用一个线程去执行!!!)package com.des.mouse.king.ivsDispatch.configService;import org.slf4j.Logger;i...
2019-06-21 19:04:03
408
原创 普通工具类调用service
在开发中我们经常遇到在工具类或者普通类中调用service的情况。在Service或者Controller我们用@Resource(name = "chargeService") 或者 @Autowired 这两个注解,但是在普通类中,这两个注解是没有办法注入service对象的,我们也无法通过new来使用,那这个时候就需要我们通过ApplicationContextAware 来实现!具体...
2019-06-18 20:36:59
1570
原创 通过kafka发送和接收消息
生产者配置类:@Configuration@EnableKafkapublic class KafkaProducerConfig { @Value("${kafkaConfig.address}") private String address; @Value("${kafkaConfig.batchSize}") private String ba...
2019-06-11 20:43:44
6785
9
原创 记一次Guava Cache 数据丢失问题排查
程序中访问大量静态数据,并且并发量很高,这个时候使用Guava Cache来做缓存管理,能大大提高服务效率,内存占用率问题。当时当时在使用过程中发现有数据丢失的问题;程序初始化加载表中数据根据查询条件作为key值存放到Guava Cache中,但是线上实际使用一段时间后发现数据有丢失的情况,但是本地验证又正常;Guava Cache 部分代码: Cache<String, Ma...
2019-06-11 20:16:23
2171
1
原创 URL和URI的区别
1、URI :用于标记一个网络资源2、URL:用于标记一个WWW互联网资源(用地址标记),并给出了他的访问地址。(URI是Uniform Resource Identifier,表示是一个资源; URL是Uniform Resource Locator,表示是一个地址,光看英文缩写确实难懂)URL是URI的子集,所有的URL都是URI,但不是每个URI都是URL,还有可能是UR...
2019-05-22 09:00:42
282
class反编译查看工具
2018-09-29
JSP API文档
2017-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人