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]