开发者社区 问答 正文

JsonUtils中InetAddress序列化问题

JsonUtils中的InetAddressSerializer,序列化InetAddress对象是

InetAddress address = (InetAddress)object; serializer.write(address.getHostName())

是获取getHostName来获取的,如果hosts中配置了主机名,那么这个值解析到的主机名 建议修改为 address.getHostAddress()直接获取IP PS:JsonUtils中

static { SerializeConfig.getGlobalInstance().put(InetAddress.class, JsonUtils.InetAddressSerializer.instance); SerializeConfig.getGlobalInstance().put(Inet4Address.class, JsonUtils.InetAddressSerializer.instance); SerializeConfig.getGlobalInstance().put(Inet6Address.class, JsonUtils.InetAddressSerializer.instance); }

这种方式是否太黑魔法,这样的话整个fastJson框架,在解析InetAddress对象的时候,全部是按照这种方式序列化的,而影响嵌入canal的应用程序?

原提问者GitHub用户kevinKaiF

展开
收起
绿子直子 2023-05-09 12:02:02 138 分享 版权
1 条回答
写回答
取消 提交回答
  • 希望保留hostname,而不是ip,特别针对是域名+vip模式的时候,域名会保持不变

    原回答者GitHub用户agapple

    2023-05-10 11:07:37
    赞同 展开评论
问答分类:
问答地址: