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

Infinispan配置TCPPING时Transport.getAddress()为空启动失败如何解决

问题根因

你的自定义JGroups配置缺少集群通信必需的完整协议栈组件,仅配置TCP和TCPPING无法完成集群成员身份确认、视图发布的完整启动流程,导致JGroups的集群视图回调晚于Infinispan拓扑管理器的初始化逻辑,节点地址未完成赋值就被调用触发空指针。

修复方案

1. 补全JGroups配置

将你的jgroups.xml替换为包含完整协议链的配置,保留你需要的固定端口、TCPPING静态节点配置即可:

<config xmlns="urn:org:jgroups"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
    <TCP bind_port="7950" />
    <TCPPING initial_hosts="192.168.42.100[7950],192.165.10.52[7950]" />
    <MERGE3 max_interval="30000" min_interval="10000"/>
    <FD_SOCK/>
    <FD_ALL timeout="3000" interval="1000" timeout_check_interval="1000"/>
    <VERIFY_SUSPECT timeout="1500" />
    <pbcast.NAKACK2 use_mcast_xmit="false" discard_delivered_msgs="true"/>
    <UNICAST3 conn_close_timeout="5000" xmit_table_num_rows="100" xmit_table_msgs_per_row="2000"
               xmit_table_max_size="10485760"/>
    <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000" max_bytes="4M"/>
    <pbcast.GMS print_local_addr="true" join_timeout="2000"/>
    <UFC max_credits="2M" min_threshold="0.4"/>
    <MFC max_credits="2M" min_threshold="0.4"/>
    <FRAG2 frag_size="60K" />
</config>

上述配置保留了你自定义的端口和静态集群节点列表,补充了JGroups集群运行必需的故障检测、成员管理、消息可靠传输相关协议,保证集群视图会在Infinispan拓扑管理器初始化前完成发布,节点地址会正常赋值。

2. 可选:显式指定节点名称

如果你需要手动指定节点标识,可以在初始化GlobalConfiguration时添加nodeName配置:

GlobalConfiguration globalConfiguration = global.transport()
        .defaultTransport()
        .nodeName("自定义节点名称")
        .addProperty("configurationFile", "jgroups.xml")
        .build();

内容的提问来源于stack exchange,提问作者iXô

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:39:03