Author: nicolas
Date: Thu Jan 10 03:00:35 2008
New Revision: 610758
URL: http://svn.apache.org/viewvc?rev=610758&view=rev
Log:
skip when URL is in failure cache
cache proxy failures (404) for better performances
Modified:
maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
Modified:
maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java?rev=610758&r1=610757&r2=610758&view=diff
==============================================================================
---
maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
(original)
+++
maven/archiva/trunk/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultRepositoryProxyConnectors.java
Thu Jan 10 03:00:35 2008
@@ -524,10 +524,15 @@
getLogger().info( emsg );
return null;
}
-
+
+ if ( urlFailureCache.hasFailedBefore( url ) )
+ {
+ throw new NotFoundException( "Url has failed before and
cache-failure is enabled on this connector" );
+ }
+
Wagon wagon = null;
try
- {
+ {
RepositoryURL repoUrl = remoteRepository.getURL();
String protocol = repoUrl.getProtocol();
wagon = (Wagon) wagons.get( protocol );
@@ -547,7 +552,10 @@
}
catch ( NotFoundException e )
{
- // Do not cache url here.
+ // public repositories may be slow to access, and many
request will fail when
+ // muliple repositories are "merged" by archiva via
proxies.
+ // so caching "not found" is usefull here to enhance
archiva response-time
+ urlFailureCache.cacheFailure( url );
throw e;
}
catch ( NotModifiedException e )