【发布时间】:2011-07-06 17:02:33
【问题描述】:
我目前正在从事一个项目,要求我从 Internet 下载 WSDL 文件。
我的问题之外的一切都很好......
我使用以下代码:
private Definition getDefinition(String url) throws WSDLException {
// Read the url and return an instance to a WSDL Definition
return WSDLFactory.newInstance().newWSDLReader().readWSDL(url);
}
这个 WSDLFactory 是一个线程(据我所知)。我遇到的问题是,在我提供的 URL 列表中,其中一些指向不再存在的 WSDL。这反过来又导致我的程序在意识到它应该抛出 FileNotFoundException 之前等待非常长的时间。这是因为 WSDL 应该在的位置需要很长时间才能返回 HTTP_RESPONSE 代码。
有没有办法可以将这个 WSDLFactory 包装成试图获取 WSDL 但只给它 5-10 秒的时间?之后,它会说“你有太多时间来做这件事。我们正在踩你”?
【问题讨论】:
-
你不能简单地从列表中删除不存在的资源吗?
标签: java multithreading time wsdl