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
