使用XMLSchema的StreamSource上的TimeOut

时间:2013-10-24 11:42:31

标签: java-ee xsd

我的一些代码工作得很好。现在我需要更新它,我有一些时间错误,我认为只有在生产服务器上,它在开发一方面完全没问题。

超时总是25秒,但是代码在它之后就完全没问了......但它仍然阻止了我们的生产服务器。

// 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);

如果您对可能导致这种情况的原因有所了解......

非常感谢

Leena

1 个答案:

答案 0 :(得分:0)

如果XSD_FILE包含/导入其他XSD(其中包含/导入其他XSD,依此类推),则可以检查以下内容:

  • 阅读所有XSD的总时间太长。
  • 其中一个包含/导入的XSD是从生产服务器无响应或无法访问的主机提供的。