Nexus一直在说"远程自动阻止和不可用"用于Eclipse P2远程存储库

时间:2015-05-24 17:01:42

标签: eclipse nexus

我添加了Eclipse P2存储库作为我的Nexus的代理,但在检查状态一段时间后,状态变为"远程自动阻止和不可用"。我配置了例如存储库类型为P2的远程URL http://download.eclipse.org/eclipse/updates/4.4/。这是正确的,应该像那样工作吗?

我认为我可能因为我的许多试验和错误而被列入黑名单,但是当我在POM中使用相同的URL作为存储库时,它完美地工作,即使它是从同一IP获取的。因此,Nexus代理配置似乎存在问题。我像这样配置代理:

  • 存储库类型:代理
  • 提供商:P2更新网站
  • 格式:P2
  • 政策:混合
  • 远程存储位置:http://download.eclipse.org/eclipse/updates/3.6/
  • 下载远程索引:false
  • 启用自动阻止:true
  • 文件内容验证:true
  • 校验和政策:忽略
  • 允许文件浏览:true
  • 包含在搜索中:false
  • 发布网址:true
  • 未找到缓存TTL:1440分钟
  • 神器最大年龄:-1分钟
  • 元数据最大年龄:1440分钟
  • 项目最大年龄:1440分钟
  • HTTP请求设置:无配置

此配置中存在问题吗?

日志只是"超时":

2015-05-25 19:40:51,544+0200 DEBUG [proxy-3-thread-389] smith remote.storage.outbound - [eclipse-3.6-try1] HEAD http://download.eclipse.org/eclipse/updates/3.6/ - 30,00 s
2015-05-25 19:40:51,544+0200 DEBUG [proxy-3-thread-389] smith org.sonatype.nexus.proxy.storage.remote.httpclient.HttpClientRemoteStorage - HEAD method failed, will attempt GET. Exception: Connection pool timeout error while executing HEAD method [repositoryId="eclipse-3.6-try1", requestPath="/", remoteUrl="http://download.eclipse.org/eclipse/updates/3.6/"]
org.sonatype.nexus.proxy.RemoteStorageTransportOverloadedException: Connection pool timeout error while executing HEAD method [repositoryId="eclipse-3.6-try1", requestPath="/", remoteUrl="http://download.eclipse.org/eclipse/updates/3.6/"]
    at org.sonatype.nexus.proxy.storage.remote.httpclient.HttpClientRemoteStorage.doExecuteRequest(HttpClientRemoteStorage.java:598) ~[nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.sonatype.nexus.proxy.storage.remote.httpclient.HttpClientRemoteStorage.executeRequest(HttpClientRemoteStorage.java:515) ~[nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.sonatype.nexus.proxy.storage.remote.httpclient.HttpClientRemoteStorage.executeRequestAndRelease(HttpClientRemoteStorage.java:622) ~[nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.sonatype.nexus.proxy.storage.remote.httpclient.HttpClientRemoteStorage.checkRemoteAvailability(HttpClientRemoteStorage.java:371) ~[nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.sonatype.nexus.proxy.storage.remote.AbstractHTTPRemoteRepositoryStorage.isReachable(AbstractHTTPRemoteRepositoryStorage.java:50) [nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.isRemoteStorageReachable(AbstractProxyRepository.java:1660) [nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.sonatype.nexus.proxy.repository.AbstractProxyRepository$RemoteStatusUpdateCallable.call(AbstractProxyRepository.java:1634) [nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.sonatype.nexus.threads.MDCAwareCallable.call(MDCAwareCallable.java:44) [nexus-core-2.11.2-03.jar:2.11.2-03]
    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.3.jar:1.2.3]
    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.3.jar:1.2.3]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_31]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_31]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_31]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_31]
Caused by: org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.leaseConnection(PoolingHttpClientConnectionManager.java:254) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$1.get(PoolingHttpClientConnectionManager.java:231) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:173) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) ~[httpclient-4.3.6.jar:4.3.6]
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) ~[httpclient-4.3.6.jar:4.3.6]
    at org.sonatype.nexus.proxy.storage.remote.httpclient.HttpClientRemoteStorage.doExecuteRequest(HttpClientRemoteStorage.java:557) ~[nexus-core-2.11.2-03.jar:2.11.2-03]
    ... 13 common frames omitted

3 个答案:

答案 0 :(得分:4)

我发现这个问题https://issues.sonatype.org/browse/NEXUS-5466很好地描述了我的问题。原因似乎是Nexus中的内部问题,无法分配所需的内部资源。

我停下来重启了Nexus,现在问题已经消失。

很可惜这个错误已被关闭,因为"无法修复"。

答案 1 :(得分:-1)

我不确定你为什么在Maven POM文件中使用P2存储库,但是从代理下载方面这是正确的,对我来说同时适用于4.4和3.6 URL。

答案 2 :(得分:-1)

您应检查nexus中的代理配置。

配置的代理URL和身份验证(如果提供)是否有效?