How to add custom bundles part of the Target?

66 Views Asked by At

I am working on server-allinone in Eclipse. I would like to make some custom bundles part of the basic bundles running on the Target. Is there a way to do so from the configurations?

1

There are 1 best solutions below

1
On

Conceptually, what is running on the target, consists of three logical parts:

  1. The actual OSGi framework implementation (Apache Felix, Equinox, ...).
  2. The "management agent" that Apache ACE provides.
  3. All the bundles that make up your application.

Anything that is part of #3 can be easily installed, updated and uninstalled by ACE. ACE also has a mechanism that allows the management agent (#2) to update itself (which obviously is a bit of a special case). That is where ACE stops, it has not built-in mechanism to update #1, even though there has been some talk about providing a mechanism for that as well. You have to draw the line at some point though, as beyond that you could also ask yourself who is going to update the JVM, the OS and the bootloader.

Anyway, back to your question. If you want to make those custom bundles part of the basic bundles that are running on the target, conceptually they become part of the framework and you have no way in ACE to ever update them. If that is fine, just create a custom launcher that, besides installing the management agent, also installs these bundles. If that is not fine you need to add those bundles to the actual management agent bundle so they become part of that. That way you can update them as part of that bundle. However, I would like to challenge you and ask you why these bundles cannot be part of the application? Is there a special reason they must be pre-installed (updatable or not)?