Thank you, Kevin!  That explains it and confirms we have the correct 
behaviour.

Perhaps we should update the JavaDoc (for 
createSelfReference(java.lang.Class<B> businessInterface)) to NOT say 
"default service" for that may mis-lead folks to think that we can define 
a default service somehow ..

---

I meant to say:

 ... an exception is expected if you use the first version of the
createSelfReference API to create a ServiceReference to a component
offering multiple services.

--
Kevin

On Fri, Apr 4, 2008 at 10:24 AM, Kevin Williams <[EMAIL PROTECTED]> 
wrote:
> Hi Yee-Kang,
>
>  Further down in the specification is:
>
>    435 The second variant, which takes an additional serviceName
>  parameter, *must* be used if the component
>    436 implements multiple services.
>
>  So, an exception is expected if you employ the first version of the
>  createSelfReference API.
>
>  --Kevin
> 
>  On Fri, Apr 4, 2008 at 9:42 AM, Yee-Kang Chang <[EMAIL PROTECTED]> 
wrote:
> > Hi Everyone,
>  >
>  >  V1 of the Java Annotations & APIs Spec described these two methods 
as
>  >  follows:
>  >
>  >  createSelfReference(Class<B> businessInterface) ? Returns a
>  >  ServiceReference that can be used to invoke this component over the
>  >  designated service.
>  >  createSelfReference(Class<B> businessInterface, String serviceName) 
?
>  >  Returns a ServiceReference that can be used to invoke this component 
over
>  >  the designated service. Service name explicitly declares the service 
name
>  >  to invoke.
>  >
>  >  Tuscany's JavaDoc described them as such:
>  >
>  >  createSelfReference(java.lang.Class<B> businessInterface) Returns a
>  >  ServiceReference that can be used to invoke this component over the
>  >  default service.
>  >  createSelfReference(java.lang.Class<B> businessInterface, 
java.lang.String
>  >  serviceName)    Returns a ServiceReference that can be used to 
invoke this
>  >  component over the designated service.
>  >
>  >  The behaviour I observed was that 
createSelfReference(java.lang.Class<B>
>  >  businessInterface) would return an Exception when I invoked it from 
a
>  >  component with more than one services defined.
>  >
>  >  Can someone please confirm that this is the expected behaviour and 
that
>  >  createSelfReference(java.lang.Class<B> businessInterface) is meant 
for
>  >  component with one service while 
createSelfReference(java.lang.Class<B>
>  >  businessInterface, java.lang.String serviceName) is meant for 
component
>  >  with multiple services?  And so, the "default service" mentioned in
>  >  Tuscany's JavaDoc is a typo?
>  >
>  >  Thank you!

Reply via email to