How much of the actual OpenEJB code changes to do a shift like this (to
OSGi)?

Quintin Beukes


On Thu, Oct 29, 2009 at 12:33 PM, Jean-Louis MONTEIRO <
[email protected]> wrote:

>
> Guillaume,
>
> Have a look here.
>
> http://svn.apache.org/repos/asf/openejb/trunk/sandbox/openejb-osgi/openejb-core-osgi/src/main/filtered-resources/features.xml
>
> http://svn.apache.org/repos/asf/openejb/trunk/sandbox/openejb-osgi/openejb-core-osgi/src/main/filtered-resources/features.xml
>
> Jean-Louis
>
>
> gnodet wrote:
> >
> > Btw, I was going to have a look at the features descriptor but could
> > not find it in svn ...  Has it been checked in already ?
> >
> > On Thu, Oct 29, 2009 at 10:56, Jean-Louis MONTEIRO
> > <[email protected]> wrote:
> >>
> >>
> >>> First of all, i went to Felix-Karaf 1.0.0 which is a bit for user
> >>> friendly
> >>
> >> I've been wondering what Karaf was having seen it in use in Geronimo
> >> osgification. I'm glad you used it so I'm encourage to do so if it
> >> gets things easier.
> >>
> >>
> >> Jacek Laskowski wrote:
> >>>
> >>> Actually, Karaf relies on Felix for its OSGi platform. But it provides
> a
> >>> set of useful tools and configuration.
> >>> Some details are available here
> >>> http://felix.apache.org/site/apache-felix-karaf.html
> >>>
> >>
> >>> 1. For some strange reasons, installing osgi bundles using Pax mvn url
> >>> handler didn't run fine (not able to find my proxy settings).
> >>
> >> Why did you have to use it at all? Was it as a replacement for
> >> installing bundles from maven repos using http?
> >>
> >>
> >> Jacek Laskowski wrote:
> >>>
> >>> Absolutely!
> >>> I like the idea to use maven behavior to install bundles.
> >>> I mean osgi:install mvn:<groupId>/<artifactId>/<version> instead of
> >>> specifying a repository with an hard coded URL.
> >>>
> >>
> >>
> >>> 2. I played with information from your mail. It was useful but too
> >>> heavy.
> >>
> >> It will get easier when I (or someone else) prepare appropriate config
> >> file and the necessary bundles get installed automatically. Anyway,
> >> I'm all ears to hear how the process can get simpler.
> >>
> >>
> >> Jacek Laskowski wrote:
> >>>
> >>> Using features is easier.
> >>> I changed the openejb-core-osgi module to add features
> >>> generation/deployment on maven.
> >>>
> >>
> >>> 3. To eases installation i started changing some stuff either in
> OpenEJB
> >>> or
> >>> in your OSGI module.
> >>> The result is a set of features. But, i'm facing an issue with
> >>> openejb-loader and openejb-core.
> >>>
> >>> Basically, we have openejb-core depending on openejb-loader.
> >>> And openejb-loader declares a required bundle: openejb-core. I would be
> >>> nice
> >>> to get rid of this dependency.
> >>
> >> +1 if it gets the osgification simpler. Having a bundle required is
> >> just a way to link bundles together and they can get installed by not
> >> started. Starting a bundle resolves imports so it's not a cyclic
> >> dependency because only openejb-core has to be started.
> >>
> >>
> >> Jacek Laskowski wrote:
> >>>
> >>> I got it working even if i'm not really happy with. IMO, we should
> >>> review
> >>> loader stuff.
> >>> For example, in the Activator, the loader is used to initialize the
> >>> container whereas OpenEJB.destroy() is directly used to shutdown the
> >>> container.
> >>>
> >>
> >>> With features, you just need to do:
> >>>
> >>> features:addUrl
> >>> mvn:org.apache.openejb/openejb-core-osgi/3.1.2-SNAPSHOT/xml/features
> >>>
> >>> features:list outputs
> >>> ka...@root> features:list
> >>> State         Version          Name                   Repository
> >>> [uninstalled] [5.0-2         ] javaee-api             repo-0
> >>> [uninstalled] [3.1.2-SNAPSHOT] openejb-loader         repo-0
> >>> [uninstalled] [3.1.2-SNAPSHOT] openejb-api            repo-0
> >>> [uninstalled] [3.1.2-SNAPSHOT] openejb-javaagent      repo-0
> >>> [uninstalled] [3.1.2-SNAPSHOT] openejb-jee            repo-0
> >>> [uninstalled] [3.1.2-SNAPSHOT] ejb31-api-experimental repo-0
> >>> [uninstalled] [3.1.2-SNAPSHOT] openejb-core           repo-0
> >>> [uninstalled] [3.1.2-SNAPSHOT] openejb-core-osgi      repo-0
> >>> [uninstalled] [2.5.6.SEC01   ] spring                 karaf-1.0.0
> >>> [uninstalled] [1.2.0         ] spring-dm              karaf-1.0.0
> >>> [uninstalled] [1.0.0         ] wrapper                karaf-1.0.0
> >>> [uninstalled] [1.0.0         ] obr                    karaf-1.0.0
> >>> [uninstalled] [1.0.0         ] http                   karaf-1.0.0
> >>> [uninstalled] [1.0.0         ] webconsole             karaf-1.0.0
> >>> [installed  ] [1.0.0         ] ssh                    karaf-1.0.0
> >>> [installed  ] [1.0.0         ] management             karaf-1.0.0
> >>
> >> I don't understand it yet - it looks karaf-specific which I would
> >> avoid unless it's required. Could you explain what it is for?
> >>
> >>
> >> Jacek Laskowski wrote:
> >>>
> >>> May be the best, is to try it!
> >>> Basically, a feature is a set of bundles.
> >>> For example, instead of installing all APIs using something like
> >>> # install osgi bundles using mvn url handler
> >>> osgi:install
> >>> mvn:org.apache.geronimo.specs/geronimo-activation_1.1_spec/1.0.2
> >>> osgi:install
> >>> mvn:org.apache.geronimo.specs/geronimo-javamail_1.4_spec/1.6
> >>> osgi:install
> >>> mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/1.1.1
> >>> osgi:install mvn:org.apache.geronimo.specs/geronimo-ejb_3.0_spec/1.0.1
> >>> osgi:install
> >>> mvn:org.apache.geronimo.specs/geronimo-interceptor_3.0_spec/1.0.1
> >>> osgi:install
> >>> mvn:org.apache.geronimo.specs/geronimo-j2ee-connector_1.5_spec/2.0.0
> >>> osgi:install
> >>> mvn:org.apache.geronimo.specs/geronimo-j2ee-deployment_1.1_spec/1.1
> >>> ...
> >>>
> >>> you just need to do a features:install javaee-api.
> >>>
> >>>
> >>
> >> Regarding logging, i had an issue with our log4j usage.
> >> On Karaf, Pax Logging is installed be default so you can use the Log4j
> >> logger in your application, but you cannot use internal APIs (have a
> look
> >> here  http://lists.ops4j.org/pipermail/general/2009q3/002509.html
> >> http://lists.ops4j.org/pipermail/general/2009q3/002509.html ). So I got
> a
> >> ClassNotFoundException with org/apache/log4j/Layout.
> >>
> >> By the way, I saw your activation code afterward, specially
> >> env.setProperty("openejb.log.factory",
> >> "org.apache.openejb.util.JuliLogStreamFactory");
> >>
> >> But it didn't work for me.
> >> In the org.apache.openejb.util.Logger class, we do
> >> System.getProperty("openejb.log.factory") instead of
> >> SystemInstance.get().getProperty("openejb.log.factory");
> >>
> >> I changed some other code to avoid System property usage and now it
> works
> >> (or it should work) if you provide a embedded.juli.properties in the
> >> bundle.
> >>
> >> Another solution is to create a conf/ directory in KARAF_HOME
> >> (=OPENEJB_HOME).
> >>
> >> Anyway, just for fun :) i change the Log4jLogStreamFactory to be able to
> >> use
> >> Log4j with OSGi and PaxLogging.
> >>
> >> Jean-Louis
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/For-adventurous%3A-first-run-of-OSGified-OpenEJB-*seems*-running-fine-tp26033567p26110134.html
> >> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> >
> > --
> > Cheers,
> > Guillaume Nodet
> > ------------------------
> > Blog: http://gnodet.blogspot.com/
> > ------------------------
> > Open Source SOA
> > http://fusesource.com
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/For-adventurous%3A-first-run-of-OSGified-OpenEJB-*seems*-running-fine-tp26033567p26110631.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
>

Reply via email to