
There are some improvements since blogging about
Catch-22 Logging with OSGI Frameworks:
Eclipse Riena:
Eclipse Riena (M3 here for OSX and here for Windows) has changed the dependency to log4J from Require-Bundle into Import-Package - now you can use any log4j bundle, per ex. log4J from SpringSource Enterprise Bundle Repository (S2).
EasyBeans:
EasyBeans Version 1.1.0 (Snapshot here) can now work with installations using Commons Logging and also log4J - the stacktrace „ No suitable Log implementation“ doesn't happen anymore.
Now you can use configurations like:
Riena + log4J + S2-commons-logging + EasyBeans + ow2-commons-logging
If you want to use ow2-commons-logging bundle from EasyBeans distribution, then you need also S2-commons-logging, because Jetty (Riena dependency) needs an import with version number, but ow2-commons-logging exports the packages without a version.
Riena + EasyBeans + log4J + S2-commons-logging
Now you can completely remove ow2-commons-logging and only use commons-logging bundle from SpringSource - this bundle works together with EasyBeans 1.1.0 and also Jetty. (I also prefer not to use ow2-commons-logging in this case, because there's a dynamic-import of log4j and its always good to try to use as less dynamic-imports as possible.)
Remarks:
Riena still uses a special log bundle (equinox.log_1.1.0.HEAD) - details see here.
Instead of commons-logging from S2 (SpringSource) you can also use the commons-logging bundle delivered by Eclipse.
Thanks to the teams of Riena and EasyBeans for soon fixing of bugs making the life of an Enterprise OSGI applications developers easier.

No comments:
Post a Comment