myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hugues Malphettes (JIRA)" <>
Subject [jira] Commented: (MYFACES-2290) Add OSGi bundle information and bundle classloader / activator
Date Wed, 17 Mar 2010 18:35:32 GMT


Hugues Malphettes commented on MYFACES-2290:

Hi Leonardo,

I am about to commit jsp-2.1 and jstl-1.2 support in eclipse orbit. I am also working on jetty-osgi.
I have managed to run myfaces 1.2.8 with jetty-osgi inside equinox and without dependencies
on spring.
I had to repackage myfaces bundles to avoid the split-package mentionned be Felix on the comment
"28/Oct/09 01:07 AM".

jetty-osgi does set the context classloader during the execution of the servlets.
So as along as myfaces required packages are imported by the consumer bundle or as long as
they are injected by a fragment into the jetty.osgi.bootstrap bundle, they will be nicely

If you can remove the split-package that would certainly be a good step to support OSGi.

> Add OSGi bundle information and bundle classloader / activator
> --------------------------------------------------------------
>                 Key: MYFACES-2290
>                 URL:
>             Project: MyFaces Core
>          Issue Type: New Feature
>          Components: General
>    Affects Versions: 1.2.8-SNAPSHOT
>         Environment: OSGi (Equinox, Apache Felix, ...)
>            Reporter: Felix Röthenbacher
>            Assignee: Leonardo Uribe
>            Priority: Critical
>         Attachments: allow-ee6-versioned-apis.diff, MYFACES-2290-no-activator-2.patch,
MYFACES-2290-no-activator.patch, myfaces-core.diff.txt, myfaces-shared.diff.txt,,
> The provided patch will add OSGi information to bundle manifest. A bundle activator class
makes the MyFaces framework aware that it is running in a bundle environment. A bundle classloader
is used to load classes and resources from the bundle classpath. The patch doesn't require
any new runtime dependencies and doesn't affect class loading in a non-OSGi environment. Though,
small modifications to classloading were needed. This was mainly replacing Thread.currentThread.getContextClassLoader()
with ClassUtils methods.
> To run MyFaces in an OSGi environment both bundles (myfaces-api and myfaces-impl) have
to be started in the OSGi container. Additionally, the myfaces-impl bundle has to be made
available to myfaces-api. Use a fragment bundle with myfaces-api as Fragment-Host and myfaces-impl
as Required-Bundle.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message