60886

OSGI container identification Equinox / knopflerfish and relation ship between equinox osgi jar and

Question:

Question 1:-

I am working on a project which heavily uses OSGI. I am a newbee to OSGI. In my project I see JARS for both equinox and knopflerfish / and or knopflerfish bundles.

Question2:-

How do I determine among Equinox and Knoplerfish, which container does the OSGI use in my project? I assume OSGI can not use both the containers at a time.

Question 3:-

<a href="http://devblog.virtage.com/2012/08/osgi-with-equinox-for-beginners-overview/" rel="nofollow">This link</a> mentions Equinox framework requires org.eclipse.osgi_<version>.jar to implement OSGI core. So does this mean it does not require core OSGI jar, osgi.core-6.0.0 from <a href="http://www.osgi.org/Specifications/HomePage" rel="nofollow">OSGI website</a>.

Does the equinox jar org.eclipse.osgi_<version>.jar behind the scene uses core OSGI jar osgi.core-6.0.0?

Is the equinox jar org.eclipse.osgi_<version>.jar a wrapper for core OSGI jar osgi.core-6.0.0?

Is there any relationship, dependency between the equinox jar org.eclipse.osgi_<version>.jar and the core OSGI jar osgi.core-6.0.0 Or are the two jars independent of each other?

Question4:-

Suppose I am using Equinox container. And I need to update my project to the latest OSGI version. To update the project to latest OSGI jar, which JAR do i replace with the latest jar.

Do I replace core OSGI jar to the latest osgi.core-6.0.0(latest version of OSGI) from [OSGI website] or do I update the equinox jar org.eclipse.osgi_<version>.jar to it's latest version?

Answer1:

osgi.core-6.0.0 is a bundle providing the specification interfaces and classes and is released by the OSGi alliance. org.eclipse.osgi_.jar is the equinox implementation of an OSGi framework.

In OSGi it is very common that a bundle providing the implementation of an API also embeds the same API. For the equinox framework this is the case. In the jar you will also find all the API interfaces of core too.

This is mainly done for convenience so people can just start up the jar and do not have to also find the correct API jar and deploy it.

For an upgrade of the framework you just replace the equinox jar. Typically the equinox jar is not the only one implementing OSGi specs though. You will probably also have an implementation of the config admin service and maybe also other OSGi specs outside core. To also update these you have to replace these jars too. In most cases you can update these separately though as they normally play together nicely.

Recommend

  • How do I remove gloss from an iPhone app icon?
  • Using JNA to Get NSWindow from JComponent on mac
  • Entity Framework connect to Oracle: ODP for .NET “does not support time”
  • Different builds of turn-based Game Center game can’t see each other’s matches
  • still not find package, after 'mvn install'
  • Maven repository location is not updated in eclipse
  • JConsole Main class
  • How to resolve dependencies from one gradle project to another gradle project in my Eclipse workspac
  • integrate POCO library in android ndk
  • Is there a way to choose which files are displayed to the user via the standard OPENFILE dialogs?
  • Wrapping text in spinner android
  • Any nice way to generate a timeline view of commits from subversion?
  • python: forcing relative imports to search from script file
  • Local Development, Apache vs Developer - file permissions
  • “mvn clean generate-source” could not resolve dependencies
  • In Java, how can I construct a File from a resource?
  • Android Studio Can't Find tools.jar
  • how does System.Web.HttpRequest::PathInfo work?
  • Scala multiline string placeholder
  • Does Mobilefirst provide a provision to access web services directly?
  • Firefox Extension - Monitor refresh and change of tab
  • ImageMagick, replace semi-transparent white with opaque white
  • Cannot connect to cassandra from Spark
  • Exchange data b/w iOS devices using Bluetooth 4.0
  • Cross-Platform Protobuf Serialization
  • SSO with signing and signature validation doesn't work
  • Deserializing XML into class C#
  • Alternatives to the OPTIONAL fallback SPARQL pattern?
  • How to get icons for entities from eclipse?
  • How to include full .NET prerequisite for Wix Burn installer
  • Easiest way to encapsulate a HTML5 webpage into an android app?
  • Does armcc optimizes non-volatile variables with -O0?
  • Busy indicator not showing up in wpf window [duplicate]
  • costura.fody for a dll that references another dll
  • Observable and ngFor in Angular 2
  • How to Embed XSL into XML
  • UserPrincipal.Current returns apppool on IIS
  • Conditional In-Line CSS for IE and Others?
  • java string with new operator and a literal
  • jQuery Masonry / Isotope and fluid images: Momentary overlap on window resize