[jboss-dev] VFS Temp Reuse (JBAS-6715)

Jason T. Greene jason.greene at redhat.com
Wed Apr 22 17:52:13 EDT 2009


Ales Justin wrote:
>> 1. ProfileService calls VFS.getRoot() on the ear
>> 2. The VirtualFile is passed to MainDeployer.addDeployment
>> 3. Structure scanning is performed, which holds on to the roots.
> 
> Only client side top root is kept,
> all other (sub)roots are cleaned up at undeploy,
> and new DeploymentContext (+ roots) are created an (re)deploy.
> 
>> 4. MainDeployer.process()
>> 5. Undeploy is performed which invalidates the EAR ZEC
>> 6. Deploy is performed which *reuses* the root in 2, so everything 
>> using the VDF gets the old ZEC
> 
> Only top root should get reused - the client side,
> all other should be re-created.

Right, and the top is the old EAR ZEC, so it becomes a fork. The VDF 
code creates new nested ZECs rooted at the old EAR ZEC. This is the true 
owner of the temp.

The scan in the middle of the deployment process gets the new EAR ZEC, 
and thus creates a new nested entry under that. It reuses the temp that 
is attached to the WAR ZEC child of the old EAR ZEC.

http://rafb.net/p/ODGBmE10.html

-- 
Jason T. Greene
JBoss, a division of Red Hat



More information about the jboss-development mailing list