diff options
-rw-r--r-- | java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java b/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java index e74fa8c537..797ffcf5d7 100644 --- a/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java +++ b/java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java @@ -102,6 +102,15 @@ public class ServiceProcessor extends BaseJavaClassVisitor { } } + //validate no scope on servce interface + for (Class<?> iface : interfaces) { + for (Annotation aaa : iface.getAnnotations()) { + if (iface.getAnnotation(org.oasisopen.sca.annotation.Scope.class) != null) { + throw new IntrospectionException("JCA90041 @Scope annotation not allowed on service interface " + iface.getName()); + } + } + } + //validate service methods implemented Method[] ms = clazz.getMethods(); for (Class<?> iface : interfaces) { |