You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Infinispan 9.2.1.Final启动异常求助:PersistenceManagerImpl.start()调用失败

问题描述

使用Infinispan版本:9.2.1.Final
依赖配置:

'org.infinispan', name: 'infinispan-core', version: '9.2.1.Final'

运行环境为Java 8,无代码变更,仅在重新部署构建时随机出现如下错误:

1) Error injecting constructor, org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
  at com.raster.cache.TileCacheImpl.<init>(TileCacheImpl.scala:37)
  at com.raster.cache.TileCacheImpl.class(TileCacheImpl.scala:35)
  while locating com.raster.cache.TileCacheImpl
  while locating com.raster.cache.TileCache
Caused by: org.infinispan.commons.CacheException: Unable to invoke method public void org.infinispan.persistence.manager.PersistenceManagerImpl.start() on object of type PersistenceManagerImpl
排查思路与解决建议
  • 检查持久化存储资源冲突:PersistenceManager启动失败多与底层存储(文件系统、数据库等)相关。随机出现的特征指向重新部署时旧进程未完全释放存储锁或连接,导致新进程无法访问。可执行:
    • 部署前强制清理旧进程残留的文件锁(如Infinispan文件存储生成的*.lock文件)
    • 检查数据库连接池配置,确保重新部署时连接能被正确回收,避免连接耗尽
  • 验证类加载器隔离问题:Java 8环境下,重新部署易出现类加载器泄漏,导致Infinispan核心类被重复加载,引发依赖注入异常。可排查:
    • 应用服务器(若使用)的类加载策略,确保Infinispan核心包被统一加载,避免多类加载器实例冲突
    • 用依赖分析工具(如Maven Dependency Tree)确认项目依赖,排查是否存在不同版本的Infinispan组件引入
  • 调整启动时序:依赖注入时PersistenceManager的依赖项未完全初始化,随机触发失败。可优化:
    • 确认TileCacheImpl初始化前,Infinispan的CacheManager已完成启动,避免在CacheManager未就绪时创建Cache实例
    • 调整Bean初始化顺序,确保PersistenceManager依赖的资源(如数据源、存储目录)先于Cache实例初始化
  • 升级Infinispan版本:9.2.1.Final属于旧版本,可能存在已知的随机启动稳定性bug。可查看官方Release Notes,确认后续兼容Java 8的版本(如9.4.x系列)是否修复了相关问题,尝试升级到稳定版本
  • 补充日志排查:开启Infinispan的DEBUG级日志,重点追踪PersistenceManagerImpl.start()方法的详细报错。当前错误仅抛出顶层异常,无具体原因,详细日志可定位到存储访问失败、依赖缺失等底层问题

内容的提问来源于stack exchange,提问作者Shivam Sahil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 10:10:12