Reinhard Poetz wrote:
Daniel Fagerstrom wrote:
Reinhard Poetz wrote:
Daniel Fagerstrom wrote:
This requires a component declarations with explicit dependencies.
Unfortunately ECM doesn't support this at all as it is based on
getting the dependencies through the service manager in the program
code. But OSGi declarative services support declarative component
dependencies e.g.
Unfortunatly the OSGi spec doesn't say much about declarative
services. Did I overlook them or do you know of any source of
information that is more helpful (e.g. show some examples)?
They are new in R4 and part of the services specification (the R4 is
split into a core and a service specification). The specification
contains some examples, other than that I haven't found any examples.
There are two open source implementations, the reference
implementation from IBM that now is part of Eclipse/Equinox and one
from Knopflerfish.
In the meantime I found
http://oscar-osgi.sourceforge.net/tutorial/ex7.html and
http://gravity.sourceforge.net/servicebinder/
It is similar but not exactly the same. The declarative services is a
development of the service binder. But IIUC, they are rather close, so
it is probably a good starting point to read about the service binder.
Standard documents are not that easy going ;) even if the OSGi ones are
well written.
I succeed to make a minimal example running in the Equinox framework.
I'll start an experimental integration in Cocoon soon. The main
problem is how to make all the dependencies bundles. The correct way,
is to make all the jars bundles separately, but that is a lot of
work, and we need to cooperate with other communities to be able to
maintain it. This has been discussed at the Felix list, and there are
some interest e.g. for Excalibur. But someone have to take the first
step.
The other option is to package all dependent jars inside the
Cocoon-core bundle, but that makes startup slow, and I don't know how
to maintain two separate packaging of Core with Maven.
Maven knows the concept of "profiles" that are helpful to use
different build strategies
Ok, will take a look at that.
/Daniel