Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 313399

Summary: Opener of Archive didn't close a file
Product: [WebTools] WTP Java EE Tools Reporter: Jason Sholl <jsholl>
Component: jst.j2eeAssignee: Jason Sholl <jsholl>
Status: RESOLVED FIXED QA Contact: Chuck Bridgham <cbridgha>
Severity: normal    
Priority: P3 CC: ccc
Version: 3.0.5Flags: cbridgha: review+
Target Milestone: 3.0.5 P   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 313402    
Attachments:
Description Flags
patch none

Description Jason Sholl CLA 2010-05-18 13:00:39 EDT
The following exception was logged because of a small hole where an IArchive may not necessarily be closed.  The fix is to close that hole by ensuring the IArchive is added to the list of IArchives to close.  In addition to logging exceptions like this one, orphaned open IArchives can hold onto file locks until the workbench is shut down so it is important that this gap be closed.

java.lang.Exception
	at org.eclipse.jst.j2ee.internal.archive.operations.ComponentLoadStrategyImpl.<init>(ComponentLoadStrategyImpl.java:210)
	at org.eclipse.jst.j2ee.internal.web.archive.operations.WebComponentLoadStrategyImpl.<init>(WebComponentLoadStrategyImpl.java:39)
	at org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit.asArchive(WebArtifactEdit.java:641)
	at org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit.asArchive(WebArtifactEdit.java:633)
	at org.eclipse.jst.j2ee.internal.archive.operations.EARComponentLoadStrategyImpl.addModulesAndUtilities(EARComponentLoadStrategyImpl.java:123)
	at org.eclipse.jst.j2ee.internal.archive.operations.EARComponentLoadStrategyImpl.getFiles(EARComponentLoadStrategyImpl.java:62)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.LoadStrategyImpl.collectFiles(LoadStrategyImpl.java:286)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ContainerImpl.getFiles(ContainerImpl.java:237)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ContainerImpl.getFile(ContainerImpl.java:197)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ModuleRefImpl.initModuleFileFromEAR(ModuleRefImpl.java:122)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ModuleRefImpl.getModuleFile(ModuleRefImpl.java:106)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl.getModuleFile(EARFileImpl.java:93)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl.getDeploymentDescriptor(EARFileImpl.java:333)
	at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ModuleRefImpl.getDeploymentDescriptor(ModuleRefImpl.java:165)
	at org.eclipse.jst.j2ee.model.internal.validation.EarValidator.validateWebAppRefs(EarValidator.java:440)
	at org.eclipse.jst.j2ee.model.internal.validation.EarValidator.validateRefs(EarValidator.java:397)
	at org.eclipse.jst.j2ee.model.internal.validation.EarValidator.validate(EarValidator.java:122)
	at org.eclipse.jst.j2ee.model.internal.validation.EarValidator.validateInJob(EarValidator.java:144)
	at org.eclipse.jst.j2ee.internal.validation.UIEarValidator.validateInJob(UIEarValidator.java:276)
	at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Jason Sholl CLA 2010-05-18 13:01:53 EDT
Created attachment 168971 [details]
patch
Comment 2 Chuck Bridgham CLA 2010-05-18 20:18:04 EDT
approve
Comment 3 Carl Anderson CLA 2010-05-21 08:34:40 EDT
Committed to R3_0_5_patches