You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jeremy Boynes <jb...@apache.org> on 2006/07/22 01:28:18 UTC
Deployment, was: ServletLauncher, ...
On Jul 21, 2006, at 1:54 PM, Ken Tam wrote:
<snip/>
>
> Working on understanding the deployment code; here's a snippet that's
> unclear to me:
>
> In DeployerImpl.deploy(CompositeComponent<?> parent,
> CompositeDefinition<I> componentDefinition) :
>
> DeploymentContext deploymentContext = new RootDeploymentContext(null,
> xmlFactory, moduleScope, null)
>
> For the case where componentDefinition.getImplementation() is an
> instance of SystemCompositeImplementation, shouldn't the SCDL URL be
> passed into the RootDeploymentContext? (as opposed to null)
The ComponentDefinition that is at the root of the deployment does
not have any SCDL associated with it - it was created in memory by
the thing that called the deployer. So at that time there is no
scdlLocation for the deployment context (which is why it is null).
That component is implemented by a SystemCompositeImplementation
which has a name that identifies which composite to use. It also
contains a scdlLocation which is a used by the implementation loader
as a (really really strong) hint on where to find the SCDL. When it
recurses into that composite then the loader pushes that location
into the child context as the scdlLocation that was actually used
(for the purposes or resolving other relative locations).
There is a subtle distinction here about what it means to "deploy" a
composite. As a "type" of thing, a composite is insubstantial and
cannot actually be physically materialized. Instead, you create an
"instance" of a component that is implemented by that type.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org