Ohhnews

分类导航

DZone Java

使用自定义SOAP处理器在JAX-WS服务调用间保持Cookie

文章讨论JAX-WS生成的SOAP客户端在多次服务调用间无法自动保留首次认证返回的Set-Cookie,导致后续调用丢失会话。作者分析内置会话属性受代理实例作用域限制、运行时实现不一致,以及全局CookieManager在应用服务器中会造成并发用户会话混用等问题。最终采用自定义SOAPHandler,在出站请求中补充Cookie、在入站响应中捕获Set-Cookie,并用ThreadLocal按线程保存会话,工作流结束时清理。文章还说明处理器注册方式、Cookie轮换与过期处理,以及如何用桩服务进行无容器测试。
#jax-ws#soap#cookie#会话保持#java
$ more
Jetbrains Blog

Forrester研究:IntelliJ IDEA实现155%投资回报率,并凸显其开放式AI策略

Forrester受JetBrains委托发布IntelliJ IDEA总经济影响研究,访谈9家拥有400至4000个席位的企业技术负责人,并构建拥有2000名开发者的复合金融公司模型。三年内实现155%投资回报率,净现值1840万美元,收益3030万美元对成本1190万美元,9个月回本。代码质量提升贡献最大,三年现值1630万美元;开发效率提升、入职加速和留存改善也带来收益。受访者强调其跨大型代码库理解能力及开放式AI策略,可在IDE内使用JetBrains AI、Junie和第三方模型或代理,灵活适应模型变化。JetBrains Air将进一步支持代理式开发。
#intellij idea#jetbrains#投资回报率#ai开发#代码质量
$ more
DZone Java

三全其美:AI代理用Rust和Java编写的HEIC解码器性能超越C库

文章讲述作者在Java和Rust项目中处理iPhone HEIC图片上传时,放弃依赖C语言库libheif,转而让AI编码代理分别用Java和Rust实现原生HEIC解码器。流程包括:先让解码器在各自项目内可用,再抽离为带测试和发布流程的开源库;通过持续测量、与libheif逐阶段对比找差距;让两个AI代理互相交流优化思路,借鉴熵解码、并行瓦片和变换技巧;最后针对剩余差距重复优化。作者强调测量需排除CPU噪声,丢弃收益小于波动的改动。最终同机十张照片测试:8核下Rust 0.46秒、Java 0.55秒、libheif 0.81秒;单核下Rust 1.38秒、libheif 1.45秒、Java 1.96秒。Rust在支持颜色插值提升边缘锐度时仍与libheif持平。结论是独立迭代能走很远,横向对比和代理协作能带来更多优化,Java优化后同样很快。两个解码器均已开源。
#heic#ai代理#rust#java#性能优化
$ more
Jetbrains Blog

网络研讨会回顾:CLion与TRACE32实现嵌入式系统AI智能体调试

JetBrains与Lauterbach联合举办的网络研讨会回顾了CLion与TRACE32的集成。CLion通过调试适配器协议连接TRACE32,可在同一环境中开发和调试嵌入式目标;借助MCP服务器,AI智能体能够启动并控制调试会话、检查程序状态和定位根因。集成要求CLion 2026.2.4或更高版本、TRACE32 PowerView 09.2026及调试适配器0.1.2以上,支持Junie、Claude Code、Codex、OpenCode等ACP智能体。演示使用四核Infineon AURIX TC387QP开发板。目前尚不支持指令与数据追踪、CLion内追踪查看器、实时变量更新及从CLion直接发送T32命令。TRACE32侧不增加额外许可成本,CLion非商业用途免费。
#clion#trace32#嵌入式调试#ai智能体#开发工具集成
$ more
Spring Blog

Bootiful Podcast:Atomikos创始人Guy Pardon谈分布式事务与数据完整性

本期Bootiful Podcast邀请Atomikos创始人Guy Pardon,讨论分布式事务如何保障关键业务系统的数据一致性,包括银行资金转移、保险理赔数据保护以及Spring应用无需应用服务器即可获得企业级事务保障等场景。节目还探讨XA仍然重要的原因、两阶段提交的工作机制、何时应使用分布式事务,以及补偿逻辑和最终一致性方案为何并不总是足够。此外,内容涉及Atomikos的开源核心、高级可观测性与支持功能、云友好日志存储和Spring Boot集成。
#atomikos#分布式事务#数据完整性#spring#播客
$ more
foojay

Spring ApplicationContext层级导致Axelix高危JWT绕过漏洞

Axelix项目披露一个高危漏洞:其通过Spring Boot Actuator暴露的端点原本由JWT过滤器保护,但当management.server.port与server.port不同时,Spring Boot会创建独立的子管理上下文和第二个Web服务器。JWT过滤器注册在主上下文中,子上下文虽能向上查找所需Bean,却使用自己的Servlet过滤器链,因此Actuator端点可绕过JWT访问,部分端点返回500并提示缺少安全上下文。作者分析了ApplicationContext层级机制:子上下文可见父上下文Bean,父上下文不可见子上下文,且过滤器、后处理器、事件等基础设施各自独立。该问题已在1.2.1版本中通过@ManagementContextConfiguration(CHILD)将过滤器注册到管理上下文修复,并新增独立管理端口测试;后续还计划将注册统一为ANY以清理冗余。
#spring boot#applicationcontext#jwt#安全漏洞#axelix
$ more
foojay

Java 27正式发布:G1成默认垃圾收集器,新增抗量子TLS

Java 27正式发布,本版包含9个JEP,整体变化较小。G1垃圾收集器成为所有环境下的默认选择;TLS 1.3新增后量子混合密钥交换,提升抗量子攻击能力;紧凑对象头默认启用,可降低堆内存和CPU开销;JFR新增进程内数据脱敏,避免敏感信息泄露。该版本没有特性结束预览,Lazy Constants、结构化并发、Vector API等仍处于预览或孵化阶段。此外还包含HashMap、二分查找、加密等性能优化和安全增强。Java 28有望引入Valhalla项目首批特性。
#java 27#g1垃圾收集器#后量子加密#紧凑对象头#性能优化
$ more
foojay

EUDI钱包与OpenID4VP及pac4j:同设备与跨设备认证

本文介绍如何使用EUDI钱包和pac4j对Java Spring Boot用户进行身份认证。支持两种方式:在同一手机上使用SD-JWT VC,或通过另一台设备扫描二维码使用mdoc PID进行认证。
#eudi钱包#openid4vp#pac4j#身份认证#java spring boot
$ more
Baeldung

在Spring Authorization Server中自定义OpenID Connect 1.0 UserInfo响应

本文介绍如何在Spring Authorization Server中自定义OpenID Connect 1.0的UserInfo端点响应。文章先说明UserInfo端点与id_token的区别,再通过UserInfoService提供用户信息,并实现Function将OidcUserInfoAuthenticationContext映射为OidcUserInfo,按email、profile、account等授权范围返回相应声明。随后在oidc配置中注册自定义userInfoMapper,并通过单元测试验证完整认证流程及额外声明的返回结果。文中还简要列出请求转换器、认证提供者和响应处理器等其他可定制点。
#spring authorization server#openid connect#userinfo#oauth 2.0#自定义声明
$ more
Jetbrains Blog

Rider 2026.3 游戏开发版:Lua 与 Verse 插件、C++ 调试改进及更紧密的 Godot 集成

JetBrains 发布 Rider 2026.3,重点改进游戏开发中的编写、运行与调试流程。新版本以 Beta 形式加入 Lua 与 Verse 插件:Lua 支持 5.1–5.4、LuaJIT 和 Luau,提供补全、检查、导航、重构与格式化;Verse 基于 Rider 自有语言引擎,为 Unreal Engine 6 项目提供语法高亮、错误检测、补全和导航。Godot 方面新增与编辑器的实时连接,可用 C# 或 GDScript 调试当前场景并在调试器中查看场景树。Unity 6.7 的 CoreCLR Player 调试获得支持。C++ 调试改进包括 Natvis 热重载、MSVC 单步执行优化、数据断点、实验性 LLDB 21 调试器及 .vcxproj.filters 支持。此外还有命令行参数预设、性能优化、Files 视图和 Git worktree 改进。
#rider#游戏开发#lua#verse#godot
$ more