You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2009/04/08 06:09:12 UTC
svn commit: r762578 -
/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
Author: ogusakov
Date: Tue Apr 7 00:23:54 2009
New Revision: 762578
URL: http://svn.apache.org/viewvc?rev=762578&view=rev
Log:
[MERCURY-108] - removed the thread leak
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java?rev=762578&r1=762577&r2=762578&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java Tue Apr 7 00:23:54 2009
@@ -99,9 +99,7 @@
// TODO - replace with known Transport's protocols. Should be similar to RepositoryReader/Writer registration
private static final String[] _protocols = new String[] { "http", "https", "dav", "webdav" };
- // TODO replace with Transport
- DefaultRetriever _transport;
-
+ private HashSet<Server> _servers;
// ---------------------------------------------------------------------------------------------------------------
RemoteRepository _repo;
@@ -160,19 +158,10 @@
else
_localRepos = localRepos;
- try
- {
- // TODO 2008-07-29 og: here I should analyze Server protocol
- // and come with appropriate Transport implementation
- _transport = new DefaultRetriever();
- HashSet<Server> servers = new HashSet<Server>( 1 );
- servers.add( repo.getServer() );
- _transport.setServers( servers );
- }
- catch ( HttpClientException e )
- {
- throw new RepositoryException( e );
- }
+ // TODO 2008-07-29 og: here I should analyze Server protocol
+ // and come with appropriate Transport implementation
+ _servers = new HashSet<Server>( 1 );
+ _servers.add( repo.getServer() );
}
// ---------------------------------------------------------------------------------------------------------------
@@ -424,7 +413,18 @@
drr.addBinding( pomBinding );
}
- RetrievalResponse resp = _transport.retrieve( drr );
+ DefaultRetriever transport;
+ try
+ {
+ transport = new DefaultRetriever();
+ }
+ catch ( HttpClientException e )
+ {
+ throw new RepositoryException( e );
+ }
+ transport.setServers( _servers );
+ RetrievalResponse resp = transport.retrieve( drr );
+ transport.stop();
if ( resp.hasExceptions() )
{
@@ -531,6 +531,8 @@
RetrievalResponse response = retriever.retrieve( request );
+ retriever.stop();
+
if ( response.hasExceptions() )
{
// record all bugs on the first artifact as jetty transport does not
@@ -1065,7 +1067,10 @@
DefaultRetrievalRequest request = new DefaultRetrievalRequest();
request.addBinding( binding );
- RetrievalResponse response = _transport.retrieve( request );
+ DefaultRetriever transport = new DefaultRetriever();
+ transport.setServers( _servers );
+ RetrievalResponse response = transport.retrieve( request );
+ transport.stop();
if ( response.hasExceptions() )
{
@@ -1084,6 +1089,10 @@
{
throw new MetadataReaderException( e );
}
+ catch ( HttpClientException e )
+ {
+ throw new MetadataReaderException(e);
+ }
finally
{
if ( fis != null )
@@ -1104,8 +1113,8 @@
public void close()
{
- if( _transport != null )
- _transport.stop();
+// if( _transport != null )
+// _transport.stop();
}
public String[] getProtocols()