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
             Fix For: Java-SCA-0.91


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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to