On Thursday 12 February 2004 21:51, De Lima, Claude wrote:
> That worked.  But what exactly is being timed during deployment.  Is it
> construction
> and each lifestyle method (configure, service, inialize etc.)?  Does the
> timeout apply
> to each one, or all of them together?

SInce I am the one who introduced it, maybe I should try to explain the 
rationale behind it.

We are trying to create a robust platform, and not depend on 100% 'friendly' 
components. If bad components are in the system, the container should get rid 
of them.

So, internally in Merlin there is something we call "activation", which takes 
the deployment model (a memory structure of how to assemble tha application), 
and instantiates the components, its context objects, staging and calls the 
life cycle methods. All of this (more or less) happens in a "deploy()" method 
in the Appliance* of the component. What happens is that there is a Deployer 
thread, which is given the component to deploy, and the main thread monitors 
the progress. If the Deployer thread has not completed within the timeout, 
the main thread will try to recover. It does this by calling interrupt() on 
the thread and allow for up to the same timeout for that to complete.

If the Deployer was successfully cancelled, the deployment continues, 
otherwise a fatal exception is thrown, which should terminate the JVM.

The timeout is per component, but there is (still?) an issue that containers 
can expose services, and are internally considered to be components, and 
therefor the timeout will have to cover the aggregated time of all the 
components within such container. BUT, it may be that Stephen has fixed this 
recently.


Does that makes things more or less clear ;o)


* Appliance is a controller for each component, and handles many of the 
runtime management aspect of the component.


Cheers
Niclas

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to