Geir Magnusson Jr. wrote:
On Sep 3, 2008, at 9:14 AM, Richard S. Hall wrote:
When you have public API and if you want to guarantee that your
client dependencies resolve, you can include that API in your bundle
then both import AND export it. Likewise in your service
implementation, you can contain the public API and import AND export
it. When the framework resolves dependencies, it will try to resolve
the import first, rather than using the export, that way it will
avoid creating new class spaces. Check out our OSGi FAQ for some
discussion on this topic:
http://cwiki.apache.org/FELIX/apache-felix-osgi-faq.html
There is no single answer to this situation, it just depends. You
have to decide what works best for you with respect to your
modularity needs.
Seems kind of yecchy to have to include the API (the interface of the
service) in the bundle that uses it. I assume I could just add a
third bundle to the mix, on that contains my service interfaces? and
have both A and B reference it ?
Yeah, I can understand why this may be odd coming from a standard Java
approach, but in OSGi this is not so uncommon and the framework worries
about the details for you. This was (is?) the recommended packaging
approach for bundles in the spec. But, as Stuart says, you are free to
play around and use the approach that feels the least yucky to you.
Our OSGi FAQ goes over the packaging options too.
-> richard
geir
-> richard
Thanks again.
geir
Thanks,
Sahoo
Geir Magnusson Jr. wrote:
The odds are I'm doing things incorrectly, but I'm having so much
fun, I can't really help myself. Forgive any mistakes in jargon -
I'm fairly new to this.
I have a bundle A and a bundle B.
After A is installed and started, at some future time, it may
itself install and start B which on activation, registers a
service S, the package in which S is implemented is listed as an
Export-Package in B's manifest.
It seems to be that Felix wants A to list that same package as an
Import-Package in A's manifest or else I seem to get a
ClassCastException. However, given the lack of B at the time of
A's installation and starting, the Import-Package isn't getting
satisfied.
How do I get myself out of this?
TIA
geir
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]