summaryrefslogtreecommitdiffstats
path: root/java/sca/modules/implementation-java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sca/modules/implementation-java')
-rw-r--r--java/sca/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java9
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) {