- 博客(16)
- 收藏
- 关注
原创 Java对接MQTT协议的完整实现
本文介绍了如何使用Spring Integration框架实现MQTT协议的对接,包括客户端的配置、消息的订阅与发布、以及消息的处理逻辑。通过上述代码,您可以快速实现Java与MQTT的集成,并根据业务需求扩展消息的处理逻辑。如果您有任何问题,欢迎在评论区留言!
2025-03-18 16:38:26
295
原创 SpringBoot 发送邮件
不同的邮箱提供商,其 SMTP 服务器地址和端口可能不同。常用邮箱系统提供商如 126 邮箱的 SMTP 服务器地址 smtp.126.com,端口号为 465 或者 994;163 邮箱的 SMTP 服务器地址为 smtp.163.com,端口号为 465 或者 994 等。在配置时需根据实际使用的邮箱进行相应设置。同时,要注意获取授权码的操作,例如登录 QQ 邮箱网页版,在设置中开启相关服务以获取授权码。进入官网点击账号与安全,点击下图所示开启服务。
2024-08-28 14:03:48
398
原创 Java 设计模式 | 事件驱动 优化
优化事件总线的实现。首先,哈希Map的线程安全问题,并建议使用ConcurrentHashMap。执行回调时的性能瓶颈,通过多线程和线程池来提高效率。实现事件的订阅和取消订阅功能,以及如何处理同步与异步执行的需求。最后,代码的安全性和用户体验的提升,展示了同步与异步的区别。
2024-08-26 10:40:16
258
原创 Java 设计模式 | 事件驱动
事件驱动是一种软件架构模式,其中程序的流程是由外部事件触发的,而不是由程序内部的控制流决定。这种模式非常适合处理用户交互、异步消息处理等场景。
2024-08-26 09:49:11
696
原创 若依Cloud操作日志
annotation/*** 自定义操作日志记录注解*//*** 模块*//*** 功能*//*** 操作人类别*//*** 是否保存请求的参数*//*** 是否保存响应的参数*//*** 排除指定的请求参数*/aspect/*** 操作日志记录处理*/@Aspect@Component/*** 排除敏感属性字段*//*** 计算操作消耗时间*/
2024-07-22 13:58:18
679
原创 权限角色菜单(前端)
重要:侧边栏只分一级和二级,剩余的属于这个模块的路由如果不在这里归纳进数组,在头部模块栏切换时出现刷新或者后退前进操作将无法知道每个当前的路由的父级模块是谁侧边栏哪一个该选中,因此每个最低一级的侧边栏需要把他所属的页面router的name值放进这个数组,在父级路由守卫有重要作用,此做法避免了为了寻找某个路由的模块遍历所有的路由文件影响性能。由于本框架有不同的模块,因此无法统一用最简单的文件传输形式传给后端存储,所以由以下方式多选出来的结果集传给后端保存,前端通过后端保存的结果集判断是否包含此权限。
2024-05-10 10:28:59
1263
原创 快速创建一个quarkus 项目
注意 quarkus 只支持jdk11以上的版本,所以这里我选择jdk17注意注解导包是否正确注意的是resteasy系列的依赖互相不兼容注意quarkus在启动的时候会通过网络去下载一些依赖 可以通过aliyun仓库快一点maven版本建议在3.8.0以上。
2024-04-22 14:31:57
2084
2
转载 若依框架中自定义注解@Log
标记了@Log注解的方法,在执行后或者抛出异常后会异步的将操作记录(IP、模块、请求方法、请求参数等)存到数据库中。了解了他的写法之后,我们可以随意的改造它。比如我们还想存一些我们自己个性化需求的内容,再比如我们可以把日志存储到ElasticSearch中,再借助一些ETL工具,实现日志的可视化等等。
2024-04-18 13:38:14
1398
原创 Netty 实现 WebSocket 协议
System.out.println(NettyServer.class + " 启动正在监听: " + cf.channel().localAddress());.channel(NioServerSocketChannel.class) // 指定使用的channel。log.info("客户端断开: 租户xx:{}", ctx.channel().id().asLongText());//以块的方式来写的处理器。
2024-04-03 15:26:41
1382
3
原创 shell脚本命令
在类Unix系统(如Linux、BSD等)中,Shell是用户和操作系统之间的主要沟通层,负责接收用户的输入指令,解析这些指令,并调用相应的系统程序来执行。不同类型的Shell包括Bash(Bourne-Again SHell,大多数Linux发行版的默认shell)、sh(Bourne Shell)、csh(C Shell)、tcsh(增强型C Shell)、zsh(Z Shell)等。Shell支持管道机制(|),允许将一个命令的标准输出作为另一个命令的标准输入,从而实现命令间的高效协同工作。
2024-03-12 00:00:00
742
1
原创 docker安装及命令
Docker 是一个开源的应用容器引擎,通过它开发者可以打包应用及其依赖包到一个可移植的容器中,然后在任何安装了 Docker 的环境(包括 Linux、Windows 和 macOS 系统)上运行这个容器,从而实现应用程序的一致性部署和运行。核心概念:1、容器(Containers)Docker 容器基于操作系统级虚拟化技术(如Linux上的LXC或后来的libcontainer),为每个应用程序提供轻量级、独立且资源隔离的执行环境。
2024-03-11 00:00:00
854
1
原创 Linux下载InfluxDB
InfluxDB是一款开源的时间序列数据库(Time Series Database, TSDB),由InfluxData公司开发,特别适用于存储和查询以时间戳为索引的数据。其设计目标在于高效地处理大规模的实时监控数据,如系统性能指标、应用程序日志、物联网传感器数据等场景。主要特点:1、高性能:InfluxDB被优化用于快速写入和查询操作,尤其针对高频度、大量并发写入的情况。它支持连续查询(Continuous Queries),能够在数据进入时自动进行预计算和聚合,减轻查询压力。
2024-03-08 17:10:22
1455
1
原创 Linux下载exa
截至2023年11月1日的信息,Linux 中的 eza 命令是一个用于使文件清单更清晰、更易读的工具。然而,官方仓库中并未包含此命令,需要从额外的软件仓库安装。解压文件,因为下载的安装包是.zip格式,如果没有安装unzip解压工具,需要安装。安装 Rust 的官方方法,这需要一个curl 命令行下载器。需要先安装Rust语言。下载并安装Rust编程语言的编译器。接下来下载Exa安装包,下载版本0.9.0。最后,通过运行以下命令验证系统上安装的。将提供选项列表,选择第一个选项。
2024-03-08 17:05:36
520
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人