# ChenSoul Blog > Java、Spring、MicroServices、Architecture、Kubernetes、DevOps. Personal blog by ChenSoul. ## Site - [Home](https://blog.chensoul.cc/): Main entry point - [About](https://blog.chensoul.cc/about): Author profile and site background - [Posts](https://blog.chensoul.cc/posts): All canonical articles - [Categories](https://blog.chensoul.cc/categories): Topic entry points - [技术](https://blog.chensoul.cc/categories/tech) - [周报](https://blog.chensoul.cc/categories/weekly) - [翻译](https://blog.chensoul.cc/categories/translation) - [知识库](https://blog.chensoul.cc/categories/wiki) ## All Posts - [2026-03-15|每日简报、AI 周报想法与本周分享](https://blog.chensoul.cc/posts/2026/03/16/20260315-week-review.md): 这周继续补自动化流程:给 keep 数据流加上 AI 分析、完善每日简报,也因为 OpenClaw 和 sanwan.ai 记下了一些 AI 自动化周报的想法。 - [在 GitHub CodeSpace 中安装和使用 OpenClaw](https://blog.chensoul.cc/posts/2026/03/12/install-openclaw-in-github-codespace.md): 本文介绍在 Codespaces 中从安装到正常使用的完整步骤。 - [Wiki 笔记|Architecture](https://blog.chensoul.cc/posts/2026/03/11/architecture.md): Software Architecture- The Software Architecture Chronicles ... - [Wiki 笔记|DDD](https://blog.chensoul.cc/posts/2026/03/11/ddd.md): 介绍https://en.wikipedia.org/wiki/Domain-driven_design ... - [Wiki 笔记|Github](https://blog.chensoul.cc/posts/2026/03/11/github.md): Github ActionMaven 构建: ... - [Wiki 笔记|Java](https://blog.chensoul.cc/posts/2026/03/11/java.md): InstallationEasy way to install Java is using SDKMAN ... - [Wiki 笔记|Langchain4j](https://blog.chensoul.cc/posts/2026/03/11/langchain4j.md): 文档- https://docs.langchain4j.dev/ 官方文档,基于 1.11.0 ... - [Wiki 笔记|Maven](https://blog.chensoul.cc/posts/2026/03/11/maven.md): Maven 插件使用https://github.com/OpenFeign/feign/blob/master/pom.xml: ... - [2026-03-08|合并 linkding-cn,继续想新的知识管理工具](https://blog.chensoul.cc/posts/2026/03/09/20260308-week-review.md): 这周一边用 AI Agent 合并 linkding-cn 代码、整理 Spring Boot 2 升 3 的方案,一边也在琢磨一款面向输入驱动用户的极简知识管理工具。 - [linkding 合并 linkding-cn 代码](https://blog.chensoul.cc/posts/2026/03/06/merge-linkding-cn-to-linkding.md): 本文将详细介绍如何将 linkding-cn 的优秀功能迁移到最新的 Linkding 项目中,包括项目对比、可行性分析、迁移过程以及最终的 - [Spring Boot 2 升级到 Spring Boot 3 指南](https://blog.chensoul.cc/posts/2026/03/06/spring-boot-2-to-3-upgrade-guide.md): 本文介绍如何使用 OpenRewrite 自动化迁移 Spring Boot 2.7.x 应用到 Spring Boot 3.x,以及如何使用 spring-boot-2-to-3 这个 AI Agent Skill 来简化升级流程。 - [2026-03-01|从 Hugo 迁移到 Astro,继续折腾 AI 编码工具](https://blog.chensoul.cc/posts/2026/03/05/20260301-week-review.md): 这周主要在两条线上投入时间:把博客从 Hugo 迁移到 Astro,也继续试用了 Codex CLI、Gemini CLI、Claude Code 和 OpenClaw。 - [Claude Code 安装、配置、使用与认证指南](https://blog.chensoul.cc/posts/2026/03/05/claude-code-guide.md): 全面介绍 Claude Code 的安装、配置、使用与认证方式,并补充订阅方案和通过 OpenRouter 接入的实践路径。 - [OpenClaw 安装、配置与使用指南](https://blog.chensoul.cc/posts/2026/03/04/openclaw-install-config-usage-guide.md): OpenClaw 开源个人 AI 助手,可接 Telegram/WhatsApp/Discord 等。从安装、配置到使用与渠道,由浅入深。 - [Codex CLI 安装、配置、使用与认证指南](https://blog.chensoul.cc/posts/2026/03/03/codex-cli-guide.md): 全面介绍 Codex CLI 的安装、配置、使用与认证方式,帮助在终端中接入 OpenAI 的本地化 AI 编程助手。 - [Gemini CLI 安装、配置、使用与认证指南](https://blog.chensoul.cc/posts/2026/03/02/gemini-cli-guide.md): Gemini CLI 是 Google 开源的终端 AI 助手,把 Gemini 的能力直接接到命令行里,让你在终端里对话、写代码、查资料、跑工具。本文介绍其安装、配置、使用、认证方式,以及和订阅方案的关系。 - [Pig AI 新版体验](https://blog.chensoul.cc/posts/2026/02/27/pigx-ai-512.md): PIG AI 是面向 Java 生态的 LLM 应用开发平台,内置 RAG 引擎、Agent 框架和 50+ 模型接入,提供界面与 API 两种使用方式。Java 开发者可以用它搭建智能客服、智能文档等企业场景。 - [Astro主题使用技巧](https://blog.chensoul.cc/posts/2026/02/26/astro-theme-tips.md): 整理使用 Astro 搭建博客过程中的实用技巧,包括图片优化、代码高亮和主题定制等常见问题与处理方式。 - [博客从 Hugo 迁移到 Astro](https://blog.chensoul.cc/posts/2026/02/26/from-hugo-to-astro-blog.md): 记录博客从 Hugo 迁移到 Astro 的过程,以及基于 astro-lhasa 主题做过的结构与样式调整,方便后续复盘与参考。 - [Spring AI 与多模态和图像](https://blog.chensoul.cc/posts/2026/02/09/spring-ai-with-multimodality-and-images.md): 介绍如何在 Spring AI 中使用多模态能力处理图像与文本输入,并基于 Spring Boot 做一些基础的多模态实验。 - [Java 生成式 AI 入门:LangChain4j 与 OpenAI 实战指南](https://blog.chensoul.cc/posts/2026/02/06/getting-started-with-langchain4j.md): 面向 Java 开发者的生成式 AI 入门实践,介绍如何使用 LangChain4j 与 OpenAI(及兼容模型)构建 AI 应用。 - [Spring AI 工具调用](https://blog.chensoul.cc/posts/2026/02/02/spring-ai-tool-calling.md): 介绍如何在 Spring AI 中实现工具调用,让大模型按需调用 Java 方法并结合返回结果生成回复,适合作为 Tool Calling 入门实践。 - [Spring AI RAG 与向量存储](https://blog.chensoul.cc/posts/2026/02/01/spring-ai-rag-vector-store.md): 介绍如何在 Spring AI 中结合 RAG 与向量存储构建 Spring Boot 应用,让模型能够基于外部知识做更准确的回答。 - [Spring AI 对话记忆 + SSE 流式回复](https://blog.chensoul.cc/posts/2026/01/04/spring-ai-chat-memory-sse.md): 在 《Spring AI 对话记忆 》中我们用 MessageChatMemoryAdvisor + JDBC 实现了多轮对话记忆。本文基于同一套记忆能力,升级为 Server-Sent Events (SSE) 流式输出,并配上自定义前端让 DeepSeek 的回复实时逐字出现。 - [Spring AI 对话记忆](https://blog.chensoul.cc/posts/2026/01/03/spring-ai-chat-memory.md): 介绍如何使用 Spring AI 实现对话记忆与多轮上下文,包括会话隔离、历史消息持久化以及 JDBC 存储方案。 - [Spring AI 结构化输出](https://blog.chensoul.cc/posts/2026/01/02/spring-ai-structured-output.md): 介绍如何在 Spring AI 中使用结构化输出,让模型返回可解析的 Java 类型结果,减少手写解析逻辑并提升稳定性。 - [Spring AI 提示词模板](https://blog.chensoul.cc/posts/2026/01/01/spring-ai-prompt-template.md): 介绍如何在 Spring AI 中使用提示词模板,将提示词外部化、参数化,提升可维护性与复用性。 - [Spring AI ToolCallbackProvider 实现类详解](https://blog.chensoul.cc/posts/2025/11/14/spring-ai-ToolCallbackProvider.md): 深入解析 Spring AI ToolCallbackProvider 接口及其实现类:MethodToolCallbackProvider、SyncMcpToolCallbackProvider、AsyncMcpToolCallbackProvider、StaticToolCallbackProvider。学习工具调用的最佳实践、使用场景对比和配置示例。 - [零基础实战:用 Spring AI 写一个会“思考”的狗狗领养助手](https://blog.chensoul.cc/posts/2025/11/13/spring-ai-dog-adoption-showcase.md): 面向初学者的 Spring AI 实战教程。通过构建一个能够根据性格推荐狗狗、并自动预约领养的 AI 助手,学习 RAG(检索增强生成)、MCP(工具调用)和对话记忆三大核心概念。 - [Vibesafe4j:使用 AI 自动生成 Java 接口实现的革命性框架](https://blog.chensoul.cc/posts/2025/11/13/vibesafe4j-introduction.md): 深入介绍 Vibesafe4j 框架:通过 AI 和注解自动生成 Java 接口实现。学习如何使用 @Func 注解、Spring Boot 集成、代码生成流程和最佳实践。包含完整示例代码和配置指南。 - [Vibesafe4j 使用 Annotation Processor 实现编译时代码生成](https://blog.chensoul.cc/posts/2025/11/13/vibesafe4j-annotation-processor-implementation.md): 详细教程:如何使用 Java Annotation Processor 在编译时为 Vibesafe4j 生成代码。包含完整的实现代码、Maven/Gradle 配置、AI 集成方案和最佳实践。适合生产环境使用。 - [OpenSpec:让 AI 编码助手更懂你的项目规范](https://blog.chensoul.cc/posts/2025/11/07/openspec.md): 本文深入介绍 OpenSpec 规范驱动开发工具,展示如何让 AI 编码助手(如 Cursor、Claude、Copilot)按照项目规范生成高质量代码 - [Spring Boot 2.5.8单体应用接入Nacos 1.3.0配置中心完整指南](https://blog.chensoul.cc/posts/2025/10/10/spring-boot-2.5.8-nacos-1.3.0-config-center-integration-guide.md): 详细介绍Spring Boot 2.5.8单体应用接入Nacos 1.3.0配置中心的三种技术方案,包括升级Spring Boot版本、降级Spring Boot版本和使用注解方式配置,提供完整的Maven依赖配置和代码示例。 - [使用Docker Model Runner和Spring AI运行AI模型](https://blog.chensoul.cc/posts/2025/10/09/docker-model-runner-spring-ai-local-ai-application.md): 学习如何使用Docker Model Runner和Spring AI构建本地AI应用,实现RAG功能、向量搜索和模型本地化部署。包含完整代码示例和最佳实践。 - [Spring AI 让数据库听懂人话:Text2SQL 自然语言查询实践指南](https://blog.chensoul.cc/posts/2025/09/30/spring-ai-text2sql-showcase.md): 深入探索 Spring AI + DeepSeek 实现 Text2SQL 自然语言数据库查询,包含直接模式、MCP工具集成、分步骤查询三种实现方案,附完整源码和踩坑经验 - [Spec-Kit 在 Cursor 中的安装和使用指南](https://blog.chensoul.cc/posts/2025/09/29/spec-kit-with-cursor.md): 介绍如何在 Cursor 中安装和使用 Spec-Kit,借助规范驱动开发流程把需求定义、实现与 AI 编码协作串联起来。 - [在 GitHub 中配置 Renovate 自动更新依赖与自动合并 PR](https://blog.chensoul.cc/posts/2025/09/28/config-renovate-in-github.md): 详细介绍如何在 GitHub 项目中配置 Renovate,实现依赖自动更新与 PR 自动合并,涵盖从最小配置到复杂场景的常见用法。 - [基于 Spring AI 构建智能餐厅推荐系统:RAG 技术实战](https://blog.chensoul.cc/posts/2025/09/26/spring-ai-restaurant-showcase-rag.md): 通过智能餐厅推荐系统示例,介绍如何用 Spring AI 实现 RAG 应用,让模型基于真实餐厅数据生成更准确的推荐结果。 - [基于 Spring AI 构建智能餐厅推荐系统:多模型集成的实践指南](https://blog.chensoul.cc/posts/2025/09/25/spring-ai-restaurant-showcase.md): 通过智能餐厅推荐系统示例,介绍如何使用 Spring AI 集成多种聊天模型,并实现多轮对话与结构化输出等核心能力。 - [OpenAI API 接口与 Spring AI 对应关系](https://blog.chensoul.cc/posts/2025/09/22/openai-api-with-spring-ai.md): 梳理 OpenAI API 各类接口在 Spring AI 中的对应方式,帮助快速建立模型能力与 Spring 封装 API 之间的映射关系。 - [Spring AI ChatClient API 介绍](https://blog.chensoul.cc/posts/2025/09/19/spring-ai-chat-client-api.md): 围绕 Spring AI 的 ChatClient API,介绍其创建方式、调用链设计、提示模板与结构化输出等核心能力。 - [Spring AI 和聊天模型入门](https://blog.chensoul.cc/posts/2025/09/18/spring-ai.md): 介绍如何使用 Spring AI 快速接入不同聊天模型,并通过 Profile 与配置切换 OpenAI、Anthropic、Ollama 等模型提供方。 - [我的 2025 年开发设置](https://blog.chensoul.cc/posts/2025/08/24/my-development-setup-2025.md): 分享我在 2025 年使用的开发环境配置,包括硬件、软件、终端和工具链选择,以及背后的效率取舍。 - [ThingsBoard 接口设计整理](https://blog.chensoul.cc/posts/2025/07/24/thingsboard-api.md): 系统整理 ThingsBoard 平台的 REST、MQTT、HTTP 等协议接口设计,适合作为 IoT 平台开发与对接时的参考资料。 - [Spring Boot异常处理思路](https://blog.chensoul.cc/posts/2025/07/24/spring-exception.md): 本文档描述了基于 Spring Boot 的异常处理设计思路,旨在构建一个统一、可扩展、支持国际化的异常处理体系。通过合理的异常分类、统一的响应格式和完善的国际化支持,为前端提供友好的错误信息,同时便于后端进行问题定位和监控。 - [Spring 国际化实现](https://blog.chensoul.cc/posts/2025/07/17/spring-i18n.md): 从设计背景、消息资源、语言切换到异常与业务文案处理,系统整理 Spring 应用中的国际化实现方案。 - [RuoYi AI 源码分析](https://blog.chensoul.cc/posts/2025/07/15/ruoyi-ai.md): 围绕 RuoYi AI 的整体架构和核心能力做源码学习笔记,梳理其多模型接入、RAG、MCP 集成与企业级 AI 助手实现思路。 - [ThingsBoard HTTP Transport 实现方式](https://blog.chensoul.cc/posts/2025/07/02/thingsboard-http-transport.md): 系统梳理 ThingsBoard 平台 HTTP 设备接入的实现方式,重点分析 HTTP 自动注册机制、调用链与消息流转过程。 - [ThingsBoard 源码中的 OAuth2 登录实现](https://blog.chensoul.cc/posts/2025/06/06/oauth2-client-login-in-thingsboard.md): 结合后台配置与源码实现,分析 ThingsBoard 中 OAuth2 登录功能的配置方式与整体实现流程。 - [ThingsBoard 源码中的代码片段整理](https://blog.chensoul.cc/posts/2025/04/30/codes-in-thingsboard.md): 记录 ThingsBoard 源码阅读过程中遇到的一些关键代码片段与实现细节,作为后续分析和查阅的笔记整理。 - [使用 Docker 安装 Gitea](https://blog.chensoul.cc/posts/2025/04/08/install-gitea-using-docker.md): 记录如何使用 Docker 安装和运行 Gitea,包括目录准备、权限设置和基础部署步骤。 - [Canal 原理、安装与测试](https://blog.chensoul.cc/posts/2025/03/31/canal-install-test.md): 介绍 Canal 的工作原理、安装步骤与基础测试方式,帮助快速理解它在 MySQL Binlog 增量同步场景中的用法。 - [常见分布式 ID 解决方案](https://blog.chensoul.cc/posts/2025/03/28/id-generator.md): 梳理常见的分布式 ID 生成方案,包括 UUID、号段、雪花算法等,帮助理解它们的原理、优缺点与适用场景。 - [如何实现榜单 Top N 统计](https://blog.chensoul.cc/posts/2025/02/17/top-n-using-redis.md): 介绍一种基于本地缓存、Redis ZSet 和定时任务的榜单 Top N 统计方案,适用于高并发读写场景。 - [区分偶发性超时和频繁超时的重试策略](https://blog.chensoul.cc/posts/2025/02/14/retry-for-timeout.md): 讨论如何区分偶发性超时和频繁超时,并设计更稳健的重试策略,避免在高并发场景下引发重试风暴。 - [限流是什么:原理、目的与常见方案](https://blog.chensoul.cc/posts/2025/02/14/rate-limit.md): 介绍限流的基本概念、核心目的和常见实现思路,帮助理解系统在高并发场景下如何保护资源并保持稳定。 - [ThingsBoard 源码中的安全配置与 Security 模块](https://blog.chensoul.cc/posts/2024/12/03/security-in-thingsboard.md): 结合 ThingsBoard 源码与后台界面,整理平台中的安全相关配置、菜单项和核心 Security 模块,帮助理解其安全设计。 - [ThingsBoard 源码中的 GitHub Actions](https://blog.chensoul.cc/posts/2024/12/03/github-actions-in-thingsboard.md): 梳理 ThingsBoard 仓库中 GitHub Actions 的工作流文件,了解其配置校验、许可证处理等自动化流程。 - [Quarkus 快速入门](https://blog.chensoul.cc/posts/2024/11/14/quarkus-quick-start.md): 介绍如何使用 Quarkus CLI 创建项目并完成基础运行,帮助快速上手这个面向云原生 Java 的开发框架。 - [[译]从JUnit4迁移到JUnit5:权威指南](https://blog.chensoul.cc/posts/2024/11/07/junit-5-migration.md): 在本文中,我们将了解从 JUnit 4 迁移到 JUnit 5 所需的步骤。我们将了解如何运行新版本的现有测试,以及迁移代码需要进行哪些更改。 ... - [Kafka 安装和快速上手](https://blog.chensoul.cc/posts/2024/10/17/kafka-install-and-quickstart.md): 记录 Kafka 的下载、安装与基础运行流程,帮助快速搭建本地环境并完成第一次启动与体验。 - [Kafka 基础知识](https://blog.chensoul.cc/posts/2024/10/17/kafka-fundamental.md): 介绍 Kafka 的基础概念、核心能力与典型应用场景,帮助快速理解它作为消息队列和流式处理平台的定位。 - [[译]Spring Security 和 JWT 入门](https://blog.chensoul.cc/posts/2024/10/15/spring-security-jwt-guard.md): Spring Security 为 Java 应用程序提供了一套全面的安全功能,涵盖身份验证、授权、会话管理以及针对CSRF(跨站点请求伪造) 等常见安全威胁的防护。Spring Security ... - [[译]测试 Spring Boot 应用程序:最佳实践和框架](https://blog.chensoul.cc/posts/2024/10/14/testing-spring-boot-applications-best-practices-and-frameworks.md): 测试是软件开发不可或缺的一部分。它可确保您的 Spring Boot 应用程序按预期运行,并在不断发展的过程中继续保持这种状态。在本文中,我们将探讨如何使用最佳实践和工具测试 Spring Boot 应用程序。 ... - [ThingsBoard 源码编译与 IDEA 运行](https://blog.chensoul.cc/posts/2024/08/27/thingsboard-code-source-compile.md): 记录 ThingsBoard 源码的编译过程,以及如何在 IDEA 中导入、启动和调试项目,适合作为本地源码环境搭建参考。 - [ActiveMQ 源码:BrokerService 与 PersistenceAdapter](https://blog.chensoul.cc/posts/2024/08/27/activemq-source-code-broker-service.md): 围绕 ActiveMQ 源码中的 BrokerService 与 PersistenceAdapter 做分析,帮助理解 Broker 启动与持久化层的核心实现。 - [ActiveMQ 源码本地调试运行指南](https://blog.chensoul.cc/posts/2024/08/09/debug-activemq-source-code.md): 记录 Apache ActiveMQ 源码下载、构建、导入 IDE 和本地调试运行的完整步骤,方便快速搭建源码阅读环境。 - [[译]数据库扩展策略速成课程](https://blog.chensoul.cc/posts/2024/08/05/a-crash-course-in-database-scaling.md): 原文链接:https://blog.bytebytego.com/p/a-crash-course-in-database-scaling ... - [[译]数据库分片速成课程](https://blog.chensoul.cc/posts/2024/08/05/a-crash-course-in-database-sharding.md): 原文链接:https://blog.bytebytego.com/p/a-crash-course-in-database-sharding ... - [[译]领域驱动设计速成课程](https://blog.chensoul.cc/posts/2024/08/05/a-crash-course-on-domain-driven-design.md): 原文链接:https://blog.bytebytego.com/p/a-crash-course-on-domain-driven-design ... - [[译]关系数据库设计速成课程](https://blog.chensoul.cc/posts/2024/08/05/a-crash-course-on-relational-database.md): 原文链接:https://blog.bytebytego.com/p/a-crash-course-on-relational-database ... - [GitHub Action 发布 Jar 到 Maven 中央仓库](https://blog.chensoul.cc/posts/2024/08/01/publishing-a-jar-to-maven-repository-with-github-action.md): 介绍如何通过 GitHub Action 自动发布 Jar 包到 Maven 中央仓库,减少手工发布流程并提升发布效率。 - [[译]JMS 2.0 中的新增功能(第一部分)- 易于使用](https://blog.chensoul.cc/posts/2024/07/24/jms20-1.md): 原文链接:https://www.oracle.com/technical-resources/articles/java/jms20.html ... - [[译]JMS 2.0 中的新增功能(第二部分)- 新的消息传送功能](https://blog.chensoul.cc/posts/2024/07/24/jms20-2.md): 原文链接:https://www.oracle.com/technical-resources/articles/java/jms2messaging.html ... - [[译]JMS 2.0 的十个好处意味着可以减少代码编写量](https://blog.chensoul.cc/posts/2024/07/24/jms20-means-less-code.md): 原文链接:Ten ways in which JMS 2.0 means writing less code ... - [[译]JMS 2.0 中的新增功能](https://blog.chensoul.cc/posts/2024/07/24/what-is-new-in-jms-2-0.md): 原文链接:What is new in JMS 2.0 ... - [[译]完整的 JMS 2.0 教程](https://blog.chensoul.cc/posts/2024/07/23/a-complete-jms-2-0-tutorial.md): JMS 代表 Java 消息服务,它是 Java 中访问消息中间件服务器的标准。消息传递是在各种应用程序或服务之间交换业务数据的过程。这是一个完整的 JMS 2.0 教程, 其中包含大量代码示例。完整的代码示例可在 GitHub 上找到,请下载并运行示例。本教程使用 Glassfish 开源服务器作为 JMS 提供程序的示例。 ... - [[译]使用 JMS 消息确认保证传送](https://blog.chensoul.cc/posts/2024/07/23/guaranteed-delivery-using-jms-message-acknowledgement.md): JMS 通过 JMS 消息确认(确认模式)确保消息传递的可靠性。如果会话已进行事务处理,则该commit()方法会自动处理消息确认。否则,该方法将处理恢复rollback()。在本文中,我们将假设会话未进行事务处理。这是一个高级主题,请确保您对 JMS 有基本的了解。如果您是 JMS 新手,可以参考使用 JMS[发送和接收消息。](https://jstobigdata.com/jms/s ... - [[译]为 JMS 安装和设置 Glassfish](https://blog.chensoul.cc/posts/2024/07/23/install-and-setup-glassfish-for-jms.md): 在本文中,我们将为 JMS 2.0 设置 Glassfish,创建一个 Java 项目并添加必要的依赖项。 ... - [[译]JMS介绍 – Java消息服务](https://blog.chensoul.cc/posts/2024/07/23/jms-introduction-java-message-service.md): JMS 代表 Java 消息服务,它是 Java 中访问消息中间件服务器的标准。这是一个 JMS 介绍教程,为您提供消息传递和 JMS 的简要概述。您将了解使用 JMS 的优势以及 JMS 中的不同消息传递模型。 ... - [[译]JMS 消息模型](https://blog.chensoul.cc/posts/2024/07/23/jms-message-model.md): 消息是 JMS 的核心,无论是事件还是业务数据。消息由标头、自定义属性和正文组成。这是您将在 JMS 消息模型(JMS 消息剖析)中学习的内容。 ... - [[译]JMS 消息选择器在过滤消息中的应用](https://blog.chensoul.cc/posts/2024/07/23/jms-message-selectors-in-action-to-filter-messages.md): 发送给接收方的消息通常需要根据某些标准进行过滤。JMS 提供消息选择器,允许 JMS 消费者根据消息头指定其感兴趣的消息。在本文中,您将学习使用 JMS 消息选择器来过滤消息。 ... - [[译]JMS 点对点消息传递的实际应用](https://blog.chensoul.cc/posts/2024/07/23/jms-point-to-point-messaging-in-action.md): 点对点系统使用队列进行消息传递。客户端将消息发送到特定队列,特定订阅者监听或接收来自该队列的消息。在 JMS 点对点消息传递系统中,队列用于处理单个发送者和单个消费者。确保您已经阅读了有关JMS 消息模型 以及[如何在 JMS 中发送和接收消息的](https://jstobigdata.com/jm ... - [[译]JMS 消息优先级](https://blog.chensoul.cc/posts/2024/07/23/jms-prioritize-messages.md): 我们将通过示例详细讨论 JMS 消息优先级。每条消息的标头字段代表其优先级。我在消息模型教程JMSPriority中讨论过消息优先级。 ... - [[译]JMS 发布-订阅消息模型](https://blog.chensoul.cc/posts/2024/07/23/jms-pub-sub-messaging-model.md): 在本文中,您将了解 JMS 发布-订阅 (publish-subscribe) 消息传递模型。正如您在JMS 简介文章 中所读到的,在发布/订阅模型中,客户端通过称为主题的中介将消息发送给多个接收者。发送者通常称为发布者,接收者称为订阅者。 ... - [[译]JMS 事务的实际应用](https://blog.chensoul.cc/posts/2024/07/23/jms-transactions-in-action.md): 在本文中,您将了解如何选择性地使用 JMS 事务。在 JMS 中,您可以选择控制一个会话的原子操作。每个会话都支持一系列事务。每个事务将一组生成或使用的消息分组为一个原子工作单元。确保您已经理解了JMS 中的消息确认 。 ... - [[译]在 JMS 中发送和接收消息](https://blog.chensoul.cc/posts/2024/07/23/send-and-receive-message-in-jms.md): 您将了解 JMS 架构,学习如何在 JMS 中发送和接收消息。我将介绍管理对象、JMS 1.1 API 和 JMS 2.0 API。我们还将看到与 JMS 1.1 API 相比,JMS 2.0 API 的使用有多么简单。在继续学习本课程之前,请确保您已完成 JMS 设置。如果您是初学者,请确保您已了解[JMS 的基础知识](https://jstobigdata.com/jms/jms-intro ... - [GitLab Runner 安装与部署指南](https://blog.chensoul.cc/posts/2024/07/19/gitlab-runner-install.md): 介绍 GitLab Runner 的基本概念、核心作用以及安装部署方式,帮助搭建可执行 GitLab CI/CD 作业的运行环境。 - [将 Maven 站点发布到 GitHub Pages](https://blog.chensoul.cc/posts/2024/07/18/publishing-a-maven-site-to-github-pages.md): 记录如何将 Maven 生成的站点发布到 GitHub Pages,包括项目创建、站点生成和发布流程配置。 - [Git 服务部署与基础使用](https://blog.chensoul.cc/posts/2024/07/15/git-usage.md): 记录 Git 服务的基础部署方式,以及创建仓库、初始化和日常使用的基本操作,适合作为入门实践笔记。 - [Git、GitHub 与 GitLab 入门区别](https://blog.chensoul.cc/posts/2024/07/15/git-intro.md): 介绍 Git、GitHub 与 GitLab 的基本概念和区别,帮助初学者快速建立对版本控制、代码托管平台和协作方式的整体认识。 - [GitLab 安装与部署指南:使用 yum 源](https://blog.chensoul.cc/posts/2024/07/15/install-gitlab-using-yum.md): 记录通过 yum 源安装和部署 GitLab Server 的过程,包括环境准备、基础配置和服务启动步骤。 - [Spring Boot 集成 SpringDoc 生成 API 文档](https://blog.chensoul.cc/posts/2024/07/10/springdoc-with-spring-boot.md): 以 Maven 项目为例,介绍如何在 Spring Boot 中集成 SpringDoc,快速生成可用的 OpenAPI / Swagger API 文档。 - [Minikube 快速入门](https://blog.chensoul.cc/posts/2024/07/10/minikube-quick-start.md): 从安装、启动集群到常用命令,快速上手 Minikube,在本地搭建一个适合学习和调试的 Kubernetes 环境。 - [使用 Docker 容器化并运行 Spring Boot 应用程序](https://blog.chensoul.cc/posts/2024/07/09/docker-for-spring-boot.md): 基于 Docker 官方 Java 指南,介绍如何将 Spring Boot 应用容器化运行,并逐步搭建本地开发、测试与部署流程。 - [Docker 安装与基础配置](https://blog.chensoul.cc/posts/2024/07/09/install-docker.md): 记录在 CentOS 7 环境中安装 Docker 并完成基础配置的步骤,适合作为服务部署前的环境准备参考。 - [[译]面向 Java 开发人员的 Kubernetes](https://blog.chensoul.cc/posts/2024/07/08/kubernetes-for-java-developers.md): 有一类新工具可用于将应用程序 docker 化并部署到 Kubernetes,这些工具专门面向开发人员。该类别中的最新工具是 RedHat 的 JKube。 ... - [[译]Minikube 中的 Minions - 面向 Java 开发人员的 Kubernetes 简介](https://blog.chensoul.cc/posts/2024/07/08/minions-in-minikube-a-kubernetes-intro-for-java-de.md): 我们希望我们的微服务是可复制、可替换的工作程序,我们可以轻松升级或降级,无需停机,管理也只需最少。我们可能会说我们希望他们是我们的奴才。在本文中,我们将通过一个简单的示例来了解 Kubernetes 通过创建和编排奴才大军可以为我们做些什么。您可以按照本文进行编码,也可以从[此处](https://github.com/ryandawsonuk/minions/blob/master/minion ... - [ActiveMQ 安装与使用指南](https://blog.chensoul.cc/posts/2024/07/05/install-activemq.md): 介绍 ActiveMQ 的基础概念、版本差异以及安装与使用方式,帮助快速搭建一个可用的 JMS 消息中间件环境。 - [Tengine 动态裁剪图片实践](https://blog.chensoul.cc/posts/2024/06/26/tengine.md): 记录使用 Tengine、Lua 和 GraphicsMagick 实现动态裁剪图片的环境准备、依赖安装与基础配置过程。 - [Jenkins 安装与部署指南:使用 Docker](https://blog.chensoul.cc/posts/2024/06/26/install-jenkins.md): 记录使用 Docker 安装和启动 Jenkins 的基本步骤,包括数据卷、容器运行参数和首次启动初始化说明。 - [GitLab 安装与部署指南:使用 Docker](https://blog.chensoul.cc/posts/2024/06/26/install-gitlab.md): 记录使用 Docker 部署 GitLab 的基本流程,包括镜像选择、external_url 配置和基础运行方式。 - [搭建本地 Maven 仓库 Nexus](https://blog.chensoul.cc/posts/2024/06/25/install-nexus.md): 记录如何使用 Docker 搭建本地 Maven 仓库 Nexus,包括容器启动、数据卷配置和基础访问方式。 - [搭建本地 Maven 仓库 Artifactory 开源版](https://blog.chensoul.cc/posts/2024/06/25/install-artifactory-oss.md): 介绍 Artifactory 开源版的安装与部署方式,适合作为搭建本地 Maven 仓库和制品管理服务的入门参考。 - [Spring Boot 项目创建 Docker 镜像并运行应用](https://blog.chensoul.cc/posts/2024/06/06/spring-boot-docker-image.md): 介绍如何为 Spring Boot 项目编写 Dockerfile、构建镜像并运行容器,完成一次基础的应用容器化实践。 - [OAuth 2.0 与 OIDC 的区别](https://blog.chensoul.cc/posts/2024/06/06/oauth2-oidc.md): 从认证与授权的角度梳理 OAuth 2.0 和 OIDC 的差异,帮助理解两者的定位、关系以及各自适用的场景。 - [JWT 入门与核心概念](https://blog.chensoul.cc/posts/2024/06/06/jwt.md): 介绍 JWT 的基本概念、组成结构和使用场景,帮助理解它在认证与授权中的作用,以及为什么它常用于无状态登录。 - [OAuth 学习资料与入门索引](https://blog.chensoul.cc/posts/2024/06/06/all-things-about-oauth.md): 整理 OAuth 与 OAuth 2.0 的基础概念、入门文章和实践资料,帮助快速建立对授权协议的整体认识。 - [[译]OAuth2简化版](https://blog.chensoul.cc/posts/2024/06/05/oauth-2-simplified.md): ... - [RFC 6749:OAuth 2.0 授权框架中文版](https://blog.chensoul.cc/posts/2024/06/05/oauth2.md): OAuth 2.0 授权框架 RFC 6749 的中文整理版,适合作为理解 OAuth 2.0 协议设计、角色定义与授权流程的参考资料。 - [[译]OAuth2.0服务器](https://blog.chensoul.cc/posts/2024/06/05/oauth2-server.md): 背景 ... - [[译]OAuth2 with Spring 第1部分:了解基本概念](https://blog.chensoul.cc/posts/2024/06/05/oauth2-with-spring-part-1-knowing-the-basic-concepts.md): 原文地址: