Reputation: 1206
I'm looking for an automatic update mechanism in my Equinox environment.
I am developing bundles which use remote Services. So I have multiple clients which communicates with each other.
Now I'm looking for a way which automatically installs the new Version of a Bundle when I deployed it in Eclipse.
At the moment I'm doing it the following way:
But I would like to have it like this, which would save me a lot of work:
I already tried Felix Fileinstaller which worked partly. The problem there was, that Fileinstaller didn't uninstalled the old version and did no autostart of the Bundle. I also had the Problem that after a while there were many Bundleversions in my load directory and when I restart the environment each bundle in there is installed.
Upvotes: 0
Views: 185
Reputation: 2359
If you use Equinox you should take a look at p2. It's the provisioning mechanism used inside Eclipse for updating Eclipse and installing new Eclipse bundles. It also works in a headless server environment.
We use p2 in the Eclipse Gyrex project to perform the automatic installation. The process is as follows:
Each client periodically checks a p2 repository for updates and installs any available updates. The p2 repository is made available on an internal web server.
There are alternative options available for OSGi. For example, OBR is the approach recommended by the OSGi alliance. Unfortunately, p2 doesn't support OBR yet. But if you are using Apache Felix, you should be able to use OBR for your purposes.
Upvotes: 1