Haleh,

At the moment <implementation.osgi/> looks like this:

    <tuscany:implementation.osgi
        bundle="supplychain.Customer"
        bundleLocation="file:target/factory/Customer.jar"
        scope="STATELESS"
        allowsPassByReference="supplychain.OSGiCustomerImpl" />

The bundle location is in <implementation.osgi/> temporarily and will
eventually come from the contribution. The other attributes correspond to
equivalent annotations in SCA Java implementation (@Scope and
@AllowsPassByReference in the example).

OSGi bundles are not introspected by implementation.osgi. Interfaces exposed
through SCA services have to be provided outside the bundle since Tuscany
needs to read them (and because they can be potentially used by non-OSGi
implementation types in SCA). Hence annotations from interfaces are
processed - so @Remotable is processed as an annotation and does not have an
equivalent <implementation.osgi/> attribute.

Since the <implementation.osgi/> attributes are non-standard and
inconsistent with Java, we would like to remove these and instead introduce
annotation support for OSGi implementation classes (@Scope and
@AllowsPassByReference will be processed from the implementation classes
contained in the OSGi bundle). With this change, we would also be able to
support property injection through the use of @Property annotations, which
is not currently supported.

Thank you...

Regards,

Rajini


On 8/30/07, haleh mahbod <[EMAIL PROTECTED]> wrote:
>
> Hi Rajini,
>
> This may be clear to many, but I am trying to catch up and understand what
> we are doing in this space. Can you please explain which scenarios are
> working and what is not working and how your suggestion relates to those
> scenarios.
>
> Thanks
> Haleh
>
> On 8/29/07, Rajini Sivaram <[EMAIL PROTECTED]> wrote:
> >
> > Hello,
> >
> > We would like to start supporting SCA annotations in implementation
> > classes
> > used inside OSGi bundles to make implementation.osgi consistent with
> > implementation.java.
> >
> > In the current implementation, SCA annotations are only supported for
> > annotations used in interfaces, since we were keen on supporting
> existing
> > OSGi bundles without any change. This meant that additional SCA
> properties
> > like @AllowsPassByReference had to be supported through additional
> > attributes on the <implementation.osgi/> element. But since these
> > properties
> > do not have an OSGi equivalent, they cannot be used with existing OSGi
> > bundles, and for new implementations which support these properties, we
> > would like to support SCA annotations to make the OSGi implementation
> > consistent with the Java implementation.
> >
> > This is a fairly big change in implementation.osgi, and I would like
> your
> > views on whether this is a good time to make the change, so that
> > the implementation will reflect the long-term strategy in the next
> > release.
> > I can submit a patch early next week if it can be integrated before the
> > release.
> >
> >
> > Thank you...
> >
> > Regards,
> >
> > Rajini
> >
>

Reply via email to