I noticed this in the Java CAA spec:

3177 The @Remotable annotation has no attributes. When placed on a Java
service interface, it indicates that
3178 the interface is remotable. When placed on a Java service
implementation class, it indicates that all SCA
3179 service interfaces provided by the class (including the class itself,
if the class defines an SCA service
3180 interface) are remotable. When placed on a service reference, it
indicates that the interface for the
3181 reference is remotable.

I thought this could be useful to me in writing some local and remote tests
using a common interface.  I tried the following.

    @Reference
    @Remotable
    public Service1 reference1;

This fails with a compile error:  annotation type not applicable to this
kind of declaration.

I notice that the Remotable annotation class in Tuscany has @Target(TYPE).
The spec says it is supposed to be @Target(TYPE,METHOD,FIELD,PARAMETER).

I also notice that ReferenceProcessor doesn't have any code to deal with
Remotable.

If this is supposed to work, I'm willing to take a crack at fixing it.

On a positive note, it looks to me like ServiceProcessor has code to
propagate @Remotable on the implementation class to the services interfaces,
so that side might be in good shape.

Greg

Reply via email to