[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [equinox-dev] Equinox, OBR and all that
- From: "Jeremy Volkman" <jvolkman@xxxxxxxxx>
- Date: Mon, 2 Jul 2007 13:14:18 -0400
- Delivered-to: email@example.com
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Wsirou5uCTzGiEU02OHPJzcKRtrDsxhbBNHOLMR1goZi5UYYVjm80AGe4MLXxhrx10FzRPjbia2vRRmPwEPkpiqlpVELaraVNQyB7lYK1vHLRs/4MDa1pUBbPI/RdHbqzcMI98gIGFJXIeqTrg+KXYGuaICOh0isH77VRClZ3xU=
This pretty much describes the system we use internally for starting
our OSGi-based server. The one and only bundle installed along side
org.eclipse.osgi is responsible for:
1. Communicating with one or more repositories (of which are
extensible through the service layer);
2. Searching for and retrieving a "deployment set", which is a list of
bundles, valid version ranges for those bundles, and whether or not
they should be started;
3. Performing necessary tasks to get the state of the current system
to that described in the deployment set;
4. Register a Java Shutdown Hook that initiates a shutdown procedure
when the JVM is sent a SIGTERM.
The bundle compares the running state of the OSGi system to that
described in a deployment set. From that comparison it can compute a
list of steps required to perform the update, and optionally execute
the steps. Initial startup of the system basically compares the
deployment set to an empty OSGi system and therefore installs and
starts all necessary bundles.
We don't (yet) integrate with OBR. My understanding of OBR is that a
large part of its functionality is in the dependency resolution
system, which figures out that if you want to install bundle X, you
first need bundle A, B and C. We choose to leave this as a
configuration-time task, and validate a particular deployment set
before using it to start and/or update a system.
This software isn't released publicly, although we've been tossing the
idea around recently. I guess outside interest would help move that
On 7/1/07, Albert Strasheim <fullung@xxxxxxxxx> wrote:
I'm trying to put together a basic system on top of Equinox that can
install/update and activate bundles automatically.
I have something along the following lines in mind:
1. Equinox starts up.
2. My "install/update stuff" bundle is activated.
3. It figures out if there are any bundles to install.
3.1. It could poll a web server for a list of bundles.
3.2. It could install all the bundles available in an OBR.
4. Periodically, it can poll again, or be notified of new bundles by
listening on a JMS topic or something along these lines.
Now, some questions:
1. Does a system like this exist already?
2. Does Equinox have an OBR service implementation? As far as I can
tell, Apache Felix does. Should I be able to get their bundle going in
3. If I can use the Apache Felix bundle, is there some process by which
I can integrate it into Equinox so that it shows up in all the various
Run configuration lists, etc. (i.e. make it easy to use from inside
Eclipse)? Maybe I could just create a plugin project on top op the
Felix OBR sources.
4. Is all the fancy stuff I saw in this EclipseCon presentation
available in Eclipse 3.3? If not, how can I get it? :-)
Integrating OSGi Bundle Repository (OBR) inside Eclipse for Bundle
4. Any other thoughts on tackling this kind of problem?
Thanks for your time.
equinox-dev mailing list