On Tue, Mar 31, 2009 at 1:18 PM, Raymond Feng enjoyj...@gmail.com wrote:
Hi,
The wire element has some errors:
wire source=”HelloComponent/Store
Target=/StoreServiceComponent /StoreService/
should be:
wire source=”HelloComponent/Store
target=StoreServiceComponent /StoreService/
Good catch Raymond... but also no space on the target, right ?
should be:
wire source=”HelloComponent/Store
target=StoreServiceComponent/StoreService/
Thanks,
Raymond
From: Dong Liu
Sent: Tuesday, March 31, 2009 12:43 PM
To: user@tuscany.apache.org
Subject: Use EmbeddedScaDomain to deploy multiple contributions
I tried to use Tuscany EmbeddedScaDomain to deploy multiple contributions
which can share some common resources. Here are my contributions:
Contribution A (http://inner) contains InnerComposite, looks like:
composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
targetNamespace=http://inner;
name=InnerComposite
component name=StoreServiceComponent
implementation.java class=store.StoreServiceImpl/
service name=StroreService
binding.sca uri=/StoreServiceComponent
/StoreService/
/service
/component
/composite
Contribution B(http://outer) contains OuterComposite, looks like:
composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
targetNamespace=http://hello; xmlns:inner=http://inner;
name=OuterComposite
!--
include name=inner:InnerComposite/
--
component name=HelloComponent
implementation.java class=hello.HelloImpl/
reference name=”Store”/
/component
wire source=”HelloComponent/Store
Target=/StoreServiceComponent /StoreService/
/composite
Both composites are declared as deployable. Contribution A is exported to
namespace http://inner and contribution B imports it.
The “Store” service is implemented using “COMPOSITE” Scope annotation, which
is intend to provide a shareable store instance for other contributions such
like B.
However, I got a warning message when deploying B after contribution A is
deployed successfully. The warning message is “Wire target not found :
HelloComponent/Store”. It looks like the wire in one composite can’t link to
components belongs to other composites.
I can make contribution B deployed only by adding the “include” declaration.
But I am not sure this will meet my requirement because now the Store
service belongs to two composites. The instance shouldn’t be shared among
multiple composites since its scope is “COMPOSITE”.
If there are other solutions for this problem?
Thanks
Dong
--
Luciano Resende
Apache Tuscany, Apache PhotArk
http://people.apache.org/~lresende
http://lresende.blogspot.com/