On Wed, Aug 27, 2008 at 8:06 AM, xuhongbo <[EMAIL PROTECTED]> wrote: > Hello, > The sca assembly model v100 defined the component's name should be > unique across all the components in the composite. But different composite > may occasionally contain component whose name is same; > So if I contribute such two different composite to one scaDomain, > how could I choice the two different component whose name is same, but > reside in two different composite? > > ScaDomain.getService() is not applicable, yet, as it's only required > component name ,and doesn't require any argument to distinguish composite > > Etc: > ScaDomain.newInstance(domainUri, contextRoot, > "CompositeA.composite", "CompositeB.composite"); > ScaDomain.getService(UniqueService.class, "Unique") //which > composite's "unique" component? > > CompositeA.composite: > > <composite name="CompositeA" .> > <component name="Unique" .> > </component> > .. > </composite> > > CompositeB.composite: > > <composite name="CompositeA" .> > <component name="Unique" .> > </component> > .. > </composite> > > > > > You should consider that in order to enable 2 separate composites they need to be contributed to the domain in some way. For example,
1 - composites contributed as deployable 2 - included in other composites that are included as deployable composites 3 - named as component implementations using implementation.composite In cases 1 and 2 the composite is flattened out and become part of another composite (in case 1 this other composite is the virtual domain composite). The component name must be unique in this context. Simon
