Welcome to the club ;) I struggled with that myself for a long time. I think I finally got to understand it couple of years ago. Here is how I explained it during one of my talks: https://www.youtube.com/watch?v=hGNrZmr0zz8&feature=youtu.be&t=1569 I hope this helps better than me trying to write it all down here.
Best, Milen On Wed, Oct 16, 2019 at 9:15 PM Leschke, Scott via osgi-dev < osgi-dev@mail.osgi.org> wrote: > I’m trying to wrap my head around these two annotations and I’m struggling > a bit. Is the perspective of the provider and consumer roles from a bundle > perspective or an application perspective? > > I’ve read the Semantic Versioning whitepaper a number of times and it > doesn’t really clear things up for me definitely. > > > > If an application has an API bundle that only exposes Interfaces and > Abstract classes, and those interfaces are implemented by other bundles in > the app, are those bundles providers or consumers? My inclination is that > they’re providers but then when does a bundle become a consumer? Given > that API bundles are compile only (this is the rule right?), would a good > rule be that if you implement the interface and export the package it’s in, > that type would be @ProviderType, if you don’t implement it it’s > @ConsumeType? > > > > It would seem to me that @ProviderType would be the default using this > logic, as opposed to @ConsumerType, which leads me to believe that I’m > thinking about this wrong. > > > > Any help appreciated as always. > > > > Regards, > > > > Scott Leschke > _______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev -- http://about.me/milen
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev