← Prev in month ← Prev in thread
Next in thread → Next in month →

Re: [sca-j] Introspecting services offered by a Java implementation classwithout @Service

From
Simon Nash <>
Date
2008-08-27T07:27:48+00:00
ID
Thread
Re: [sca-j] Introspecting services offered by a Java implementation classwithout @Service
Raymond,

Minor nit: the @OneWay annotation applies
to a method, not to an interface.  Your example should be updated
to show this.

In your example, these services are
local.  Issue JAVA-3 has proposed a new annotation @Local that could
be used on Interface1and Interface2 to allow them to be recognized by the
introspection algorithm.

I believe this discussion can be handled
under JAVA-3 and there is no need to create a new issue.

    Simon

Simon C. Nash, IBM Distinguished Engineer

Member of the IBM Academy of Technology

Tel. +44-1962-815156  Fax +44-1962-818999

Raymond Feng <>

25/08/2008 17:25

To



cc

Subject

[sca-j] Introspecting services offered
by a Java implementation class without @Service

Hi, 

In Java Component Implementation Specification 1.00, we have the following
statements: 

143 1.2.1.3. Introspecting services offered by a Java implementation

144 In the cases described below, the services offered by a Java implementation
class may be determined 

145 through introspection, eliding the need to specify them using @Service.
The following algorithm is used to 

146 determine how services are introspected from an implementation class:

147 If the interfaces of the SCA services are not specified with the @Service
annotation on the implementation 

148 class, it is assumed that all implemented interfaces that have been
annotated as @Remotable are the 

149 service interfaces provided by the component. If none of the implemented
interfaces is remotable, then by 

150 default the implementation offers a single service whose type is the
implementation class. 

What if an interface is annotated with SCA annotations such as @OneWay
or @Callback? 

For example: 

public class MyServiceImpl implements Interface1, Interface2 {

} 

@Callback(CallbackInterface.class) 

public interface Interface1 { 

} 

@OneWay 

public interface Interface2 { 

} 

By the spec, there is only one service named MyServiceImpl. But isn't it
more natural that we should find two SCA services: Interface1 and Interface2?
Please clarify. 

Thanks, 

Raymond

Raymond Feng

Senior Software Engineer, Open Source SCA Development, Apache Tuscany Project

IBM Bay Area Lab, 1001 E Hillsdale Blvd, Suite 400, Foster City, CA 94404,
USA

E-mail: ,
Notes: Raymond Feng/Burlingame/IBM, Tel: 650-645-8117,
T/L: 367-8117

Web & Blog: www.enjoyjava.com
- The Cyber Cafeteria to Enjoy
Java 

Unless stated otherwise above:

IBM United Kingdom Limited - Registered in England and Wales with number
741598. 

Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
← Prev in month ← Prev in thread
Next in thread → Next in month →