infinispan - Infinispan 集群错误:找不到幻数类
问题描述
我有 2 个 Spring Boot 应用程序,每个应用程序都连接到它自己的 Infinispan 服务器,位于 2 个虚拟机的集群中。
启动应用程序后,每隔几秒钟我就会在应用程序日志中收到以下异常:
o.j.p.MPING: JGRP000191: failed receiving packet from /10.254.1.36:21246: java.lang.ClassNotFoundException: Class for magic number 23294 cannot be found
java.lang.ClassNotFoundException: Class for magic number 23294 cannot be found
at org.jgroups.conf.ClassConfigurator.create(ClassConfigurator.java:118) ~[jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at org.jgroups.Message.readHeader(Message.java:836) ~[jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at org.jgroups.Message.readFrom(Message.java:709) ~[jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at org.jgroups.protocols.MPING.run(MPING.java:198) [jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at java.lang.Thread.run(Thread.java:834) [?:?]
和
o.j.p.MPING: JGRP000191: failed receiving packet from /10.254.1.28:63093: java.lang.ArrayIndexOutOfBoundsException: Index -27011 out of bounds for length 100
java.lang.ArrayIndexOutOfBoundsException: Index -27011 out of bounds for length 100
at org.jgroups.conf.ClassConfigurator.create(ClassConfigurator.java:129) ~[jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at org.jgroups.Message.readHeader(Message.java:836) ~[jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at org.jgroups.Message.readFrom(Message.java:709) ~[jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at org.jgroups.protocols.MPING.run(MPING.java:198) [jgroups-4.2.9.Final.jar!/:4.2.9.Final]
at java.lang.Thread.run(Thread.java:834) [?:?]
一切都已启动并运行,运行良好,但应用程序日志在一段时间内变得太大且无法读取,从而导致更多资源消耗。我看到它与 jGroups 有关,但它为什么出现以及如何解决这些异常,有人遇到同样的问题吗?
谢谢您的回答 :)
解决方案
由于它是 jgroups MPING 发现协议,我猜想还有其他实例具有相同的 MPING 多播地址。因此,可能会有其他具有不同 JGroups 版本的实例向您的集群发送响应或请求。
我建议不要使用 MPING 地址的默认值。其他选项是将配置更改为 TCPPING,您需要通过 IP:port 添加所有集群成员
推荐阅读
- reactjs - 我如何将数据对象传输到数组
- ios - 使用滑块更改图像的对比度和亮度
- python - 从导入的模块运行 Flask
- r - 仅显示最小值、最大值和中值(鼠标悬停)箱线图
- mips - 如何将带有操作数 %lo %hi 的代码转换为 MARS 工作代码?
- r - 使用 vegan 包在冗余分析 (RDA) 中难以理解约束排序
- javascript - 数组切片最后 1500 个数组元素 - Javascript
- java - 提交后 SparkAppHandle 状态丢失,但驱动程序运行完美
- wpf - 如何设置数据表列的宽度以及如何在某些条件下设置数据表列的颜色
- java - JFrame.setExtendedState() 在 Mac 上无法正常工作