You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/02/23 10:13:57 UTC

svn commit: r1292719 - /karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java

Author: jbonofre
Date: Thu Feb 23 09:13:56 2012
New Revision: 1292719

URL: http://svn.apache.org/viewvc?rev=1292719&view=rev
Log:
[KARAF-1216] Call a GC in order to "purge" the file handlers

Modified:
    karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java

Modified: karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java
URL: http://svn.apache.org/viewvc/karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java?rev=1292719&r1=1292718&r2=1292719&view=diff
==============================================================================
--- karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java (original)
+++ karaf/trunk/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java Thu Feb 23 09:13:56 2012
@@ -183,8 +183,17 @@ public class AddToRepositoryMojo extends
             List<Artifact> explicitRepoBundles = new ArrayList<Artifact>();
 
             getLog().info("Base repo: " + localRepo.getUrl());
+            int currentBundle = 0;
             for (String bundle : bundles) {
                 Artifact artifact = resourceToArtifact(bundle, skipNonMavenProtocols);
+
+                // Maven ArtifactResolver leaves file handles around so need to clean up
+                // or we will run out of file descriptors
+                if (currentBundle++ % 100 == 0) {
+                    System.gc();
+                    System.runFinalization();
+                }
+
                 if (artifact == null) {
                     continue;
                 }