Hi Raymond,

I identified the issue here, this is because of the implicit services
imposed by spring beans. When no explicit services are declared in spring
context, then every bean acts as a service with its interface name, so when
there are multiple beans using the same interface we see this issue. I
believe, these is already an issue raised in the spring specs to take care
of this one.

I have fixed the spring context to declare explicit services in such
scenario, which is ideal. So the duplicate service name issue is now
resolved at r778659.

But I do see the issue the following error message....

testServer(implementation.policies.ImplementationPoliciesTestCase)  Time
elapsed: 0.313 sec  <<< ERROR!
org.oasisopen.sca.ServiceRuntimeException: The service
AnotherCalculatorServiceComponent has not been contributed to the domain

Any idea about this one?


On Fri, May 15, 2009 at 9:47 PM, Raymond Feng <[email protected]> wrote:

> Hi,
>
> My latest changes for the NodeConfiguration expose a new problem in the
> test case. The following two composites have the same name:
>
>
> /itest-implementation-spring/src/main/resources/org/apache/tuscany/sca/itest/spring/SpringDelegationHelloWorld.composite
>
> /itest-implementation-spring/src/main/resources/org/apache/tuscany/sca/itest/spring/SpringHelloWorld.composite
>
> I just checked in a fix to change the name of the composite. Now the
> original issue comes up again.
>
> Thanks,
> Raymond
>
> From: Ramkumar R
> Sent: Friday, May 15, 2009 4:33 AM
> To: [email protected]
> Subject: Re: [2.x] itest-implementation-spring is failing
>
>
>
> Hi Raymond,
>
> I notice a different error message, though I did not notice error as you
> are seeing....
>
> testServer(implementation.policies.ImplementationPoliciesTestCase)  Time
> elapsed: 0.313 sec  <<< ERROR!
> org.oasisopen.sca.ServiceRuntimeException: The service
> AnotherCalculatorServiceComponent has not been contributed to the domain
>       at
> org.apache.tuscany.sca.node.impl.NodeImpl.getServiceReference(NodeImpl.java:646)
>       at
> org.apache.tuscany.sca.node.impl.NodeImpl.getService(NodeImpl.java:612)
>       at
> implementation.policies.CalculatorClient.main(CalculatorClient.java:60)
>       at
> implementation.policies.ImplementationPoliciesTestCase.testServer(ImplementationPoliciesTestCase.java:30)
> May 15, 2009 4:51:46 PM org.apache.tuscany.sca.node.impl.NodeImpl <init>
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> INFO: Creating node: null
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at junit.framework.TestCase.runTest(TestCase.java:168)
>       at junit.framework.TestCase.runBare(TestCase.java:134)
> May 15, 2009 4:51:46 PM org.apache.tuscany.sca.node.impl.NodeImpl
> configureNode
> INFO: Loading contribution:
> file:/C:/Tuscany/2.x-daily/itest/implementation-spring/target/classes/
>       at junit.framework.TestResult$1.protect(TestResult.java:110)
>       at junit.framework.TestResult.runProtected(TestResult.java:128)
>       at junit.framework.TestResult.run(TestResult.java:113)
>       at junit.framework.TestCase.run(TestCase.java:124)
>       at junit.framework.TestSuite.runTest(TestSuite.java:232)
>       at junit.framework.TestSuite.run(TestSuite.java:227)
>       at
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79)
>       at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
> May 15, 2009 4:51:46 PM
> org.apache.tuscany.sca.assembly.xml.CompositeProcessor
> WARNING: No namespace found: Composite = SpringHelloWorld
>       at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
> May 15, 2009 4:51:46 PM
> org.apache.tuscany.sca.assembly.xml.CompositeProcessor
>       at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
> WARNING: No namespace found: Composite = SpringHelloWorld
>       at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
>       at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
>
>
> On Fri, May 15, 2009 at 2:05 AM, Raymond Feng <[email protected]> wrote:
>
> The itest-implementation-spring in 2.x build is failing due to:
> https://issues.apache.org/jira/browse/TUSCANY-3027
>
> I investigated the issue. Here is the root cause:
>
> src/main/resources/META-INF/sca/SpringDelegationHelloWorld-context.xml
> defined two Spring beans that implement the same remotable java interface
> HelloWorld. After the java introspection, we end up with two services with
> the same name "HelloWorld" in the componentType that represents the spring
> context.
>
> How do we fix this problem?
>
> Thanks,
> Raymond
>
>
> --
> Thanks & Regards,
> Ramkumar Ramalingam
>



-- 
Thanks & Regards,
Ramkumar Ramalingam

Reply via email to