Service Creation should consider interfaces marked as remotable via SCDL
@Remotable attribute in <interface.java>
-----------------------------------------------------------------------------------------------------------------
Key: TUSCANY-3295
URL: https://issues.apache.org/jira/browse/TUSCANY-3295
Project: Tuscany
Issue Type: Bug
Components: Java SCA Java Implementation Extension, OASIS Compliance
- TUSCANY
Affects Versions: Java-SCA-2.0
Reporter: Luciano Resende
Fix For: Java-SCA-2.0
Looks like we are currently visiting all interfaces from a implementation (see
ServiceProcessor.java) and checking if these interfaces are annotated in order
to create services.
// scan interfaces for remotable
Set<Class<?>> interfaces = getAllInterfaces(clazz);
for (Class<?> interfaze : interfaces) {
if (interfaze.isAnnotationPresent(Remotable.class)
|| interfaze.isAnnotationPresent(WebService.class)
|| interfaze.isAnnotationPresent(Callback.class)
) {
Service service;
try {
service = createService(interfaze);
} catch (InvalidInterfaceException e) {
throw new IntrospectionException(e);
}
type.getServices().add(service);
}
}
OASIS Java CAA specs now introduce the possibility to mark a interface
remotable via the @remotable attribute in the SCDL and we should consider this
when creating services... currently we are just throwing an exception
Caused by: org.oasisopen.sca.ServiceRuntimeException: [] - Service not found
for component service (missing @Remotable annotation?): Component = Catalog
Service = Catalog
at
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.analyzeProblems(NodeFactoryImpl.java:285)
at
org.apache.tuscany.sca.node.impl.NodeFactoryImpl.configureNode(NodeFactoryImpl.java:561)
at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:120)
... 23 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.