You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Raymond Feng (JIRA)" <tu...@ws.apache.org> on 2007/09/06 06:29:33 UTC

[jira] Assigned: (TUSCANY-1629) Tuscany does not support using classes in the @Service annotation

     [ https://issues.apache.org/jira/browse/TUSCANY-1629?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Raymond Feng reassigned TUSCANY-1629:
-------------------------------------

    Assignee: Luciano Resende

> Tuscany does not support using classes in the @Service annotation
> -----------------------------------------------------------------
>
>                 Key: TUSCANY-1629
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1629
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Java Implementation Extension
>    Affects Versions: Java-SCA-0.91
>         Environment: Linux
> Was using Tuscany SVN revision 570353
>            Reporter: Mark Combellack
>            Assignee: Luciano Resende
>             Fix For: Java-SCA-1.0
>
>         Attachments: ServiceAnnotationUsingClass.patch, ServiceAnnotationUsingClassTestCaseUpdate.patch
>
>
> The current implementation of Tuscany does not support using a class in the @Service annotation.
> For example, if I have:
> @Service(MyService.class)
> public class MyService {
>     public String op1()    {
>         return "op1 invoked";
>     }
> }
> The above example is valid from my understanding of the Java Common Annotations and APIs specification because it says:
> 1628 The @Service annotation has the following attributes:
> 1629 • interfaces - The value is an array of interface or class objects that should be exposed as services
> 1630 by this component.
> 1631 • value - A shortcut for the case when the class provides only a single service interface.
> The key phrase is in line 1629 "or class objects"
> Tuscany throws the following exception:
> org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: org.apache.tuscany.sca.contribution.service.ContributionResolveException: org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: Service must be an interface
> 	at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:264)
> 	at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:69)
>     <snipped setup code>
> Caused by: org.osoa.sca.ServiceRuntimeException: org.apache.tuscany.sca.contribution.service.ContributionResolveException: org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: Service must be an interface
> 	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:119)
> 	at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:230)
> 	... 16 more
> Caused by: org.apache.tuscany.sca.contribution.service.ContributionResolveException: org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: Service must be an interface
> 	at org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:118)
> 	at org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:49)
> 	at org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint$LazyStAXArtifactProcessor.resolve(DefaultStAXArtifactProcessorExtensionPoint.java:211)
> 	at org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102)
> 	at org.apache.tuscany.sca.assembly.xml.BaseArtifactProcessor.resolveImplementation(BaseArtifactProcessor.java:411)
> 	at org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:673)
> 	at org.apache.tuscany.sca.assembly.xml.CompositeProcessor.resolve(CompositeProcessor.java:68)
> 	at org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor.resolve(ExtensibleStAXArtifactProcessor.java:102)
> 	at org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:86)
> 	at org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor.resolve(CompositeDocumentProcessor.java:43)
> 	at org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor.resolve(ExtensibleURLArtifactProcessor.java:83)
> 	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.processResolvePhase(ContributionServiceImpl.java:392)
> 	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.addContribution(ContributionServiceImpl.java:319)
> 	at org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl.contribute(ContributionServiceImpl.java:160)
> 	at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:117)
> 	... 17 more
> Caused by: org.apache.tuscany.sca.implementation.java.introspect.impl.InvalidServiceType: Service must be an interface
> 	at org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor.visitClass(ServiceProcessor.java:88)
> 	at org.apache.tuscany.sca.implementation.java.impl.JavaClassIntrospectorImpl.introspectClass(JavaClassIntrospectorImpl.java:72)
> 	at org.apache.tuscany.sca.implementation.java.impl.JavaImplementationFactoryImpl.createJavaImplementation(JavaImplementationFactoryImpl.java:53)
> 	at org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:116)
> 	... 31 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org