You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@continuum.apache.org by ev...@apache.org on 2009/05/30 10:51:13 UTC
svn commit: r780207 - in /continuum/branches/continuum-1.3.x:
continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/
continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configur...
Author: evenisse
Date: Sat May 30 08:51:12 2009
New Revision: 780207
URL: http://svn.apache.org/viewvc?rev=780207&view=rev
Log:
[CONTINUUM-2204] Fix 'too many open files' error
Modified:
continuum/branches/continuum-1.3.x/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java
continuum/branches/continuum-1.3.x/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfiguration.java
continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/continuum/release/distributed/manager/DefaultDistributedReleaseManager.java
continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java
Modified: continuum/branches/continuum-1.3.x/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java?rev=780207&r1=780206&r2=780207&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-base/continuum-configuration/src/main/java/org/apache/continuum/configuration/DefaultContinuumConfiguration.java Sat May 30 08:51:12 2009
@@ -31,6 +31,7 @@
import org.apache.continuum.configuration.model.ContinuumConfigurationModel;
import org.apache.continuum.configuration.model.io.xpp3.ContinuumConfigurationModelXpp3Reader;
import org.apache.continuum.configuration.model.io.xpp3.ContinuumConfigurationModelXpp3Writer;
+import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -114,11 +115,12 @@
public void reload( File file )
throws ContinuumConfigurationException
{
+ FileInputStream fis = null;
try
{
+ fis = new FileInputStream( file );
ContinuumConfigurationModelXpp3Reader configurationXpp3Reader = new ContinuumConfigurationModelXpp3Reader();
- ContinuumConfigurationModel configuration =
- configurationXpp3Reader.read( new InputStreamReader( new FileInputStream( file ) ) );
+ ContinuumConfigurationModel configuration = configurationXpp3Reader.read( new InputStreamReader( fis ) );
this.generalConfiguration = new GeneralConfiguration();
@@ -208,7 +210,13 @@
log.error( e.getMessage(), e );
throw new RuntimeException( e.getMessage(), e );
}
-
+ finally
+ {
+ if ( fis != null )
+ {
+ IOUtil.close( fis );
+ }
+ }
}
public void save( File file )
@@ -308,6 +316,8 @@
ContinuumConfigurationModelXpp3Writer writer = new ContinuumConfigurationModelXpp3Writer();
FileWriter fileWriter = new FileWriter( file );
writer.write( fileWriter, configurationModel );
+ fileWriter.flush();
+ fileWriter.close();
}
catch ( IOException e )
{
Modified: continuum/branches/continuum-1.3.x/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfiguration.java?rev=780207&r1=780206&r2=780207&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfiguration.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-buildagent/continuum-buildagent-core/src/main/java/org/apache/continuum/buildagent/configuration/DefaultBuildAgentConfiguration.java Sat May 30 08:51:12 2009
@@ -28,6 +28,7 @@
import org.apache.continuum.buildagent.model.ContinuumBuildAgentConfigurationModel;
import org.apache.continuum.buildagent.model.io.xpp3.ContinuumBuildAgentConfigurationModelXpp3Reader;
import org.apache.continuum.buildagent.model.io.xpp3.ContinuumBuildAgentConfigurationModelXpp3Writer;
+import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.slf4j.Logger;
@@ -82,12 +83,14 @@
public void reload( File file )
throws BuildAgentConfigurationException
{
+ FileInputStream fis = null;
try
{
+ fis = new FileInputStream( file );
ContinuumBuildAgentConfigurationModelXpp3Reader configurationXpp3Reader =
new ContinuumBuildAgentConfigurationModelXpp3Reader();
ContinuumBuildAgentConfigurationModel configuration =
- configurationXpp3Reader.read( new InputStreamReader( new FileInputStream( file ) ) );
+ configurationXpp3Reader.read( new InputStreamReader( fis ) );
this.generalBuildAgentConfiguration = new GeneralBuildAgentConfiguration();
if ( StringUtils.isNotEmpty( configuration.getBuildOutputDirectory() ) )
@@ -113,6 +116,13 @@
log.error( e.getMessage(), e );
throw new BuildAgentConfigurationException( e.getMessage(), e );
}
+ finally
+ {
+ if ( fis != null )
+ {
+ IOUtil.close( fis );
+ }
+ }
}
public void save()
@@ -148,6 +158,8 @@
new ContinuumBuildAgentConfigurationModelXpp3Writer();
FileWriter fileWriter = new FileWriter( file );
writer.write( fileWriter, configurationModel );
+ fileWriter.flush();
+ fileWriter.close();
}
catch ( IOException e )
{
Modified: continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/continuum/release/distributed/manager/DefaultDistributedReleaseManager.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/continuum/release/distributed/manager/DefaultDistributedReleaseManager.java?rev=780207&r1=780206&r2=780207&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/continuum/release/distributed/manager/DefaultDistributedReleaseManager.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/continuum/release/distributed/manager/DefaultDistributedReleaseManager.java Sat May 30 08:51:12 2009
@@ -48,6 +48,7 @@
import org.apache.maven.continuum.model.project.Project;
import org.apache.maven.continuum.release.ContinuumReleaseException;
import org.apache.maven.shared.release.ReleaseResult;
+import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.slf4j.Logger;
@@ -599,10 +600,12 @@
if ( file.exists() )
{
+ FileInputStream fis = null;
try
{
+ fis = new FileInputStream( file );
ContinuumPrepareReleasesModelXpp3Reader reader = new ContinuumPrepareReleasesModelXpp3Reader();
- PreparedReleaseModel model = reader.read( new InputStreamReader( new FileInputStream( file ) ) );
+ PreparedReleaseModel model = reader.read( new InputStreamReader( fis ) );
return model.getPreparedReleases();
}
@@ -616,6 +619,13 @@
log.error( e.getMessage(), e );
throw new ContinuumReleaseException( e.getMessage(), e );
}
+ finally
+ {
+ if ( fis != null )
+ {
+ IOUtil.close( fis );
+ }
+ }
}
return null;
@@ -670,6 +680,8 @@
ContinuumPrepareReleasesModelXpp3Writer writer = new ContinuumPrepareReleasesModelXpp3Writer();
FileWriter fileWriter = new FileWriter( file );
writer.write( fileWriter, model );
+ fileWriter.flush();
+ fileWriter.close();
}
catch ( IOException e )
{
Modified: continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java?rev=780207&r1=780206&r2=780207&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-core/src/main/java/org/apache/maven/continuum/DefaultContinuum.java Sat May 30 08:51:12 2009
@@ -55,7 +55,6 @@
import org.apache.continuum.purge.PurgeConfigurationService;
import org.apache.continuum.release.distributed.manager.DistributedReleaseManager;
import org.apache.continuum.repository.RepositoryService;
-import org.apache.continuum.taskqueue.PrepareBuildProjectsTask;
import org.apache.continuum.taskqueue.manager.TaskQueueManager;
import org.apache.continuum.taskqueue.manager.TaskQueueManagerException;
import org.apache.continuum.utils.ProjectSorter;
@@ -103,8 +102,8 @@
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Startable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.StartingException;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException;
-import org.codehaus.plexus.taskqueue.TaskQueueException;
import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -624,14 +623,14 @@
{
if ( parallelBuildsManager.isProjectCurrentlyBeingCheckedOut( projectId ) )
{
- throw new ContinuumException( "Unable to remove project " + projectId +
- " because it is currently being checked out" );
+ throw new ContinuumException(
+ "Unable to remove project " + projectId + " because it is currently being checked out" );
}
if ( parallelBuildsManager.isProjectInAnyCurrentBuild( projectId ) )
{
- throw new ContinuumException( "Unable to remove project " + projectId +
- " because it is currently building" );
+ throw new ContinuumException(
+ "Unable to remove project " + projectId + " because it is currently building" );
}
}
catch ( BuildManagerException e )
@@ -641,8 +640,8 @@
if ( isProjectInReleaseStage( project ) )
{
- throw new ContinuumException( "Unable to remove project " + projectId +
- " because it is in release stage" );
+ throw new ContinuumException(
+ "Unable to remove project " + projectId + " because it is in release stage" );
}
try
@@ -1085,18 +1084,19 @@
throws ContinuumException
{
BuildResult buildResult = getBuildResult( buildId );
-
+
// check first if build result is currently being used by a building project
Project project = buildResult.getProject();
BuildResult bResult = getLatestBuildResultForProject( project.getId() );
try
{
- if ( bResult != null && buildResult.getId() == bResult.getId() &&
- parallelBuildsManager.isProjectInAnyCurrentBuild( project.getId() ) )
+ if ( bResult != null && buildResult.getId() == bResult.getId() &&
+ parallelBuildsManager.isProjectInAnyCurrentBuild( project.getId() ) )
{
- throw new ContinuumException( "Unable to remove build result because it is currently being used by" +
- "a building project " + project.getId() );
+ throw new ContinuumException(
+ "Unable to remove build result because it is currently being used by" + "a building project " +
+ project.getId() );
}
}
catch ( BuildManagerException e )
@@ -1658,7 +1658,7 @@
for ( Project project : projects )
{
checkForDuplicateProjectInGroup( projectGroup, project, result );
-
+
if ( result.hasErrors() )
{
log.info( result.getErrors().size() + " errors during project add: " );
@@ -2995,13 +2995,14 @@
private String getVersion()
{
+ InputStream resourceAsStream = null;
try
{
Properties properties = new Properties();
String name = "META-INF/maven/org.apache.continuum/continuum-core/pom.properties";
- InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream( name );
+ resourceAsStream = getClass().getClassLoader().getResourceAsStream( name );
if ( resourceAsStream == null )
{
@@ -3016,6 +3017,13 @@
{
return "unknown";
}
+ finally
+ {
+ if ( resourceAsStream != null )
+ {
+ IOUtil.close( resourceAsStream );
+ }
+ }
}
public InstallationService getInstallationService()
@@ -3480,7 +3488,7 @@
{
if ( configurationService.isDistributedBuildEnabled() )
{
- distributedBuildManager.prepareBuildProjects( projectsBuildDefinitionsMap, trigger, projectGroupId,
+ distributedBuildManager.prepareBuildProjects( projectsBuildDefinitionsMap, trigger, projectGroupId,
group.getName(), scmRootAddress, scmRootId );
}
else
@@ -3637,13 +3645,13 @@
return filteredProjectsList;
}
- private void checkForDuplicateProjectInGroup( ProjectGroup projectGroup, Project projectToCheck,
- ContinuumProjectBuildingResult result )
+ private void checkForDuplicateProjectInGroup( ProjectGroup projectGroup, Project projectToCheck,
+ ContinuumProjectBuildingResult result )
{
String duplicateProjects = "";
List<Project> projectsInGroup = projectGroup.getProjects();
-
+
if ( projectsInGroup == null )
{
return;
@@ -3651,10 +3659,10 @@
for ( Project project : (List<Project>) projectGroup.getProjects() )
{
-
- if ( project.getGroupId().equals( projectToCheck.getGroupId() ) &&
- project.getArtifactId().equals( projectToCheck.getArtifactId() ) &&
- project.getVersion().equals( projectToCheck.getVersion() ) )
+
+ if ( project.getGroupId().equals( projectToCheck.getGroupId() ) &&
+ project.getArtifactId().equals( projectToCheck.getArtifactId() ) &&
+ project.getVersion().equals( projectToCheck.getVersion() ) )
{
result.addError( result.ERROR_DUPLICATE_PROJECTS );
return;
Modified: continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java
URL: http://svn.apache.org/viewvc/continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java?rev=780207&r1=780206&r2=780207&view=diff
==============================================================================
--- continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java (original)
+++ continuum/branches/continuum-1.3.x/continuum-webapp/src/main/java/org/apache/maven/continuum/web/appareance/DefaultAppareanceConfiguration.java Sat May 30 08:51:12 2009
@@ -111,7 +111,9 @@
{
confFile.getParentFile().mkdirs();
}
- writer.write( new FileWriter( confFile ), continuumAppearance );
+ FileWriter fileWriter = new FileWriter( confFile );
+ writer.write( fileWriter, continuumAppearance );
+ fileWriter.close();
this.footer = footerHtmlContent;
}