Everyone, 

I have taken away the creation of plenty of threads in Merlin, and have 
attempted to put in a Deployment Timeout, i.e. If a component or a container 
takes too long to deploy, the deployment subsystem will try to interrupt() 
the deployment, and if that succeeds, throw a DeploymentException, and if 
interrupt() doesn't succeed, a FatalDeploymentException is thrown and it is 
the intention that the JVM should shut down completely.

In effect, the AbstractBlock creates a Deployer instance, which in turn 
creates a single thread that sequentially will deploy the 
components/containers in the container managed by the Block. The 
DeploymentThread, created by the Deployer will call the deploy() methods, so 
that the main thread can monitor the progress and attempt to interrupt if it 
takes too long.

To allow for the Deployment Timeout to be user settable (defaults to a long 5 
seconds), I have also introduced that the kernel can have general-purpose 
parameters.

The deployment timeout is therefor set in kernel.xml (or equiv.)

<kernel>
  <parameters>
    <parameter name="deployment-timeout" value="1500" />
  </parameters>
</kernel>

Other internals may be "tunable" in this manner in the future.

This has been committed to the HEAD, and will be part of the Merlin 3.3 
release after some more testing.

Documentation has been updated, but my MAVEN(!) refuses to generate the site 
documentation, so I can't even validate that I haven't missed anything in the 
formatting.


Cheers
Niclas


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

Reply via email to