如何在Wildfly 23中浏览Infinispan缓存数据及切换独立服务器方法
Wildfly内嵌Infinispan模块查看缓存的可行方案
Wildfly自带的Infinispan模块不需要额外部署独立服务器,即可实现缓存内容查询和监控,可通过以下两种方式实现:
方式1:使用Wildfly CLI命令行操作
这是最便捷的原生方案,不需要额外部署组件:
- 进入Wildfly安装目录的
bin文件夹,执行命令启动管理CLI:
Linux/macOS:./jboss-cli.sh --connect
Windows:jboss-cli.bat --connect - 查询当前所有已注册的缓存容器:
/subsystem=infinispan:read-children-names(child-type=cache-container) - 查看指定缓存的全量条目:
以缓存容器名business-container、缓存名user-cache为例,执行:/subsystem=infinispan/cache-container=business-container/replicated-cache=user-cache:read-attribute(name=entries) - 查询单个指定key的缓存值:
/subsystem=infinispan/cache-container=business-container/replicated-cache=user-cache:entry-get(key="test_key",cache-container="business-container") - 开启缓存监控统计:
执行/subsystem=infinispan/cache-container=business-container/replicated-cache=user-cache:write-attribute(name=statistics-enabled,value=true),开启后可查询缓存命中数、失效数、占用内存大小等指标,支持对接现有监控体系做实时变化告警。
方式2:部署可视化控制台
如果需要图形化操作界面,可以将Infinispan官方控制台的war包部署到当前Wildfly实例中,配置关联到内嵌的Infinispan子系统并开放对应管理权限,即可获得和独立Infinispan服务器一致的控制台操作体验。
切换为独立Infinispan服务器的配置方法
如果确定要放弃Wildfly内嵌模块,改用独立Infinispan服务器,可按以下步骤操作:
1. 独立Infinispan服务器配置
- 下载对应版本的Infinispan Server安装包,解压后修改
conf/users.properties配置管理员账号密码 - 启动服务器后访问默认控制台,登录后创建和原有内嵌模式配置完全一致的缓存:包括缓存类型、过期策略、持久化规则、分区容错策略等,避免业务逻辑变更
- 开启Hot Rod远程访问端口(默认11222),配置白名单允许你的应用服务器IP访问,设置远程调用的账号密码
注意:独立Infinispan服务器的大版本要和你原来Wildfly自带的Infinispan版本尽量对齐,避免序列化或者API不兼容问题
2. 应用侧适配修改
- 依赖替换:Maven项目中把原来的
infinispan-embedded相关依赖替换为infinispan-client-hotrod依赖,版本和独立服务器保持一致 - 缓存连接配置:在应用配置文件中新增独立Infinispan服务器的地址、端口、访问账号、序列化规则配置,初始化
RemoteCacheManager实例 - 代码适配:原有业务代码中调用
Cache接口的逻辑基本不需要修改,仅需要把缓存实例的获取来源从内嵌CacheContainer注入改为从RemoteCacheManager获取即可 - 灰度切换:建议切换前先配置缓存双写逻辑,验证独立服务器运行正常后再切读流量,避免切换过程中出现数据丢失。
内容的提问来源于stack exchange,提问作者randomlygeneratedname
相关产品推荐
相关产品推荐

