1

我的一些代码工作得很好,我遇到了一些问题。现在我需要对其进行更新,我认为我有一些超时错误,但仅在生产服务器上,在开发服务器上完全没问题。

超时始终为 25 5 秒,但代码执行后就好了……它仍然阻塞了我们的生产服务器。

// 1. Lookup a factory for the W3C XML Schema language
        SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
    Source xsdSource = new StreamSource(XSD_FILE);          

    Schema schema = factory.newSchema(xsdSource);
    Validator validator = schema.newValidator();

    InputStream is = new ByteArrayInputStream(xmlContent.getBytes("UTF-8"));
    Source sourceContent = new StreamSource(is);
    validator.validate(sourceContent);

在将日志放在任何地方之后,这条线需要 25 秒。它正在同一台服务器上读取 9 个 xsd 文件

Source xsdSource = new StreamSource(XSD_FILE);

如果您对可能导致这种情况的原因有任何想法...

非常感谢

莉娜

4

1 回答 1

0

如果XSD_FILE包含/导入其他 XSD(依次包含/导入其他 XSD,依此类推),则可以检查以下几种可能性:

  • 读取所有 XSD 的总时间太长。
  • 包含/导入的 XSD 之一正在从对生产服务器无响应或无法访问的主机提供服务。
于 2013-10-24T17:03:32.760 回答