Hi Paul,
I tried to find a video of the talk you gave on this topic, but
failed. This is IMHO one of the hottest Java enterprise topics,
anyone who has tried to build a long living system for more than a
few web pages has felt the pains of modularity, life cycle,
versioning, etc. - and I really want to understand some of what
you experts are talking of :-)
If it is publicly availble, can you send me a link, please.
Regards,
Thomas
Am 26.09.2012 05:39, schrieb Paul Bakker:
When using OSGi you should not deal with injection or package
imports by hand. Package imports should be calculated by byte
code analysis (bnd does this). Injecting services should be done
with a DI framework such as Felix DependencyMAnager (that's what
I use mostly) or declarative service annotations for example.
The fact that you can lookup services by hand using the low
level Apis doesn't mean you should... ;-)
For building stuff you could either use the Bnd plugin in
maven (by default it only imports packages that you really use,
using byte code analysis). Even better would be switching to
BndTools. This is an eclipse plugin specially for OSGi
development. It gives hot code reloading etc, no more slow maven
builds to see your changes! See my talk to see this in action
:-)
I don't like JBM because its not doing enough; e.g. no
dynamic services. Besides that, OSGi exists for a long time and
has proofed to work well. There is a lot of documentation, books
etc. JBM is still very much an internal JBoss thing, and almost
nobody knows anything about it. I can understand why AS7
required a custom solution, but Forge has very different
requirements.
Still, not sure it's feasible to start using OSGi for Forge
at this point. It would have a lot of impact...
Paul