Ohhnews

分类导航

DZone Java

基于Spring Boot 3和Redis Sentinel的无状态JWT认证微服务架构

本文介绍了使用Spring Boot 3和Spring Security 6构建的高可用微服务认证解决方案,旨在解决现代微服务生态中常见的集中式认证问题。核心思路是采用缓存优先模式,通过Redis缓存Token减少数据库查询,并利用Redis Sentinel实现高可用性,避免单点故障。文章详细阐述了认证服务的必要性、缓存流程、JWT令牌生成与验证、Redis配置以及Spring Security 6的安全过滤链实现。通过将User实体直接实现UserDetails接口简化了代码,并使用Lettuce驱动管理Redis Sentinel的故障转移。此外,还提供了单元测试示例验证缓存逻辑和无效Token处理。整体架构实现了无状态、可扩展且高可用的认证服务。
#微服务架构#无状态认证#jwt#spring boot 3#redis sentinel
$ more
Jetbrains Blog

Cloud9 JetStream主题正式登陆JetBrains IDE

Cloud9与JetBrains持续合作,将软件开发与电竞领域连接。最新成果是Cloud9 JetStream主题,专为JetBrains IDE打造。该主题采用暗色界面搭配Cloud9蓝色强调色和优化的语法高亮,在保留Cloud9视觉风格的同时兼顾日常编码实用性。此前双方已通过黑客松、直播工具等项目展开技术合作,此次主题则将品牌融入开发者日常工作环境。主题已上架JetBrains Marketplace。
#cloud9#jetbrains#ide主题#电竞#开发工具
$ more
Jetbrains Blog

使用TensorFlow和PyCharm为Reachy Mini构建实时物体检测应用

本文是一篇详细教程,介绍如何利用TensorFlow和PyCharm构建实时物体检测应用,并将其部署到开源机器人Reachy Mini上实现物体跟踪。项目分为两个阶段:第一阶段在笔记本电脑上使用网络摄像头测试物体检测管线,采用SSD MobileNet V2模型;第二阶段将相同模型部署到Reachy Mini机器人,实现头部跟踪、天线反应和实时网页仪表板。文章提供了完整的代码和步骤,适合对机器人、AI和计算机视觉感兴趣的开发者。
#tensorflow#物体检测#reachy mini#开源机器人#实时跟踪
$ more
foojay

Skills、Java 17 和主题强调色——Codename One 更新

本文介绍了 Codename One 框架的多项重要更新。默认 JDK 已切换为 Java 17,每个新生成的项目都附带 AGENTS.md 文件,使 AI 代理能智能协作,包括支持 jdb 调试、API 子集验证和 CSS 校验。新的原生主题(iOS Modern 和 Material 3)开放了运行时强调色板,只需在 CSS 中定义五个常量即可更换应用配色。Metal 渲染器得到改进:修复了非均匀缩放下的图形漂移问题,添加了对旋转剪切的诊断测试,并引入 ios.metal.colorSpace 构建提示以支持广色域。此外,Graphics 新增 translateMatrix API,实现了与 scale 和 rotate 一致的矩阵变换。String API 补齐了 replace(CharSequence)、replaceAll 和 replaceFirst 方法。iOS 推送权限不再在应用启动时自动触发,改为在调用 Push.register() 或 LocalNotification.schedule() 时提示,开发者可先展示原因屏幕。文中还提及了 Skin Designer 的 FAQ 和即将默认启用 Metal 的提醒。
#codename one#java 17#agents.md#原生主题#metal渲染器
$ more
Jetbrains Blog

Koog 1.0 正式发布:稳定核心、更优互操作与多平台可观测性

JetBrains 在 KotlinConf 2026 上宣布开源 AI 代理框架 Koog 1.0 正式发布。该框架支持使用 Kotlin 和 Java 构建 AI 代理应用,提供工具、工作流、持久化、记忆、可观测性等核心组件。1.0 版本强调 API 稳定性,承诺一年内无破坏性变更。主要改进包括:本地 Android AI 支持(集成 LiteRT 模型运行)、重新设计的 Java 互操作层、解耦的 HTTP 传输、基于 OpenTelemetry 的多平台可观测性、增强的长期代理持久化与记忆,以及 Anthropic 提示缓存支持以降低延迟和成本。该版本为生产级企业应用提供了更稳固的基础。
#koog#jetbrains#人工智能框架#kotlin#稳定性
$ more
Baeldung

Java 24原生支持抗量子密码:ML-KEM与ML-DSA实践

概述 文章介绍了Java 24原生支持的两项抗量子密码算法:ML-KEM(基于格的密钥封装机制)和ML-DSA(基于格的数字签名算法)。ML-KEM允许双方在不安全网络上安全地建立共享密钥,通过公钥加密、私钥解密。ML-DSA用于消息签名与验证,保证完整性与真实性。文中详细演示了使用Java 24的KeyPairGenerator、KEM和Signature类进行密钥生成、封装/解封装、签名/验证的步骤。这些算法基于M-LWE与M-SIS等困难问题,抗经典及量子攻击。文章还对比了之前需借助Bouncy Castle库的不足,强调Java 24的集成便利性。
#抗量子计算#ml-kem#ml-dsa#java 24#密钥封装
$ more
Spring Blog

Spring AI 2.0.0-M8 现已发布

Spring AI 团队宣布 2.0.0-M8 正式发布,可通过 Maven Central 获取。该版本带来了多项重要改进、稳定性增强和错误修复。新特性包括:改进 Mistral AI 的 Jackson 映射,从 Anthropic API 响应头获取速率限制信息。Bug 修复涵盖:google-genai starter 依赖声明错误、pgvector starter 缺少 jdbc 依赖、强制 OpenAI API 密钥问题以及自动配置传递依赖回归。后续版本将继续优化 AI 应用开发体验。
#spring ai#版本发布#ai 开发框架#功能改进#开源框架
$ more
DZone Java

用事件溯源和CQRS模式重新思考Java CRUD

传统CRUD系统仅存储实体当前状态,更新后旧值丢失。事件溯源模式将每次状态变更作为事件持久化,通过回放事件历史推导当前状态,引入了时间维度。命令查询职责分离(CQRS)将写模型和读模型分离:命令表达修改意图,查询读取状态。两者互补:事件流作为写端真实来源,投影(读模型)从事件派生以支持快速查询。本文以Spring Boot订单管理系统为例,展示了如何实际应用这些概念:使用Java不可变记录(record)建模状态,密封接口(sealed interface)层次化定义事件和命令,事件存储与乐观并发控制,以及通过事件监听更新读模型。文章还提供了完整的API参考和运行示例。
#事件溯源#cqrs#java#crud#软件架构
$ more
Jetbrains Blog

IntelliJ IDEA 2026.2 EAP 正式开放

IntelliJ IDEA 2026.2 早期访问计划启动 JetBrains 宣布 IntelliJ IDEA 2026.2 早期访问计划 (EAP) 现已启动。本次更新在AI辅助编码与经典开发工作流之间寻求平衡。 AI 方面:引入技能仓库供智能体使用,新增全方法生成(调用未存在方法时自动生成签名与完整实现),并通过 MCP 暴露更多 IDE 知识,使智能体可设置断点、日志点等。 经典开发:改进构建脚本依赖补全(仅显示相关坐标、作用域和版本),支持 Flyway 与 Liquibase 迁移直接运行。 调试器增强:Spring Debugger 在编辑器中显示端点安全角色信息;全新 Hibernate Debugger 展示即将执行的 SQL/HQL,并支持从查询直接跳转至触发代码,还可在应用配置中直接运行查询。Logpoints 允许在调试会话中插入日志表达式,无需中断程序或重新编译。 平台支持:提供对 Java 27、Kotlin 2.4.x、Gradle 10 的早期支持,并持续优化 Kotlin 在 Spring 项目中的诊断与互操作体验。 EAP 版本免费使用至正式发布,欢迎通过社区反馈问题与建议。
#intellij idea#早期访问计划#ai辅助编程#调试工具#kotlin
$ more
Jetbrains Blog

AI代理如何配置TeamCity构建链

实验表明,AI代理能够通过阅读文档、调用API为TeamCity配置复杂的构建链和参数。代理不仅生成方案,还能自动执行、观察结果并迭代修正,直至构建成功。这缩短了从描述到实现的周期,将CI配置从静态定义转变为自适应闭环过程。
#ai代理#teamcity#构建链#自动化#持续集成
$ more