0

我正在尝试解析 kubernetes pod 中的 mx 记录。dnsjava 库在容器外的 mac 和 ubuntu 上进行测试时工作,但部署后返回一个空数组。

k8s 或 docker 映像中需要提供什么才能使其正常工作?

https://github.com/dnsjava/dnsjava

编辑 1

  Record[] records;
  try {
    records = new Lookup(mailDomain, Type.MX).run();
  } catch (TextParseException e) {
    throw new IllegalStateException(e);
  }
  if (records != null && records.length > 0) {
    for (final Record record : records) {
      MXRecord mx = (MXRecord) record;
      //do something with mx...
    }
  } else {
    log.warn("Failed to determine MX record for {}", mailDomain);
  }

log.warn总是在 K8s 中执行。docker 镜像是openjdk:11-jdk-slimDebian。我刚刚在 Docker 之外的 Debian 上进行了测试,它也能正常工作。

4

1 回答 1

0

最后我无法让 dnsjava 在 docker/k8s 中工作。我按照https://stackoverflow.com/a/16448180/400048直接使用了 JNDI, 它没有任何问题,与该答案中给出的完全一样。

于 2020-08-22T20:13:12.973 回答