[
https://issues.apache.org/jira/browse/MYFACES-2290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12770739#action_12770739
]
Felix Röthenbacher commented on MYFACES-2290:
---------------------------------------------
What do you understand by the patch breaking the binary compatibility to the
RI? Adding new classes won't break binary compatibility to the RI as it doesn't
change any existing API nor does it affect the RI in any other ways.
Could you please explain what you mean by binary compatibility to the RI?
Another thing I want to point out as you're looking into this: both the
myfaces-api and myfaces-impl contain a package called "javax.faces". This will
result in a split package in OSGi world and the Messages_xx.properties files in
myfaces-impl bundle won't be found from myfaces-api bundle.
Otherwise, I don't know of a way of getting the BundleContext without a
BundleActivator. If adding the classes provided in the patch proves to be a
real problem it appears to me that JSF is not osgifyable.
> Add OSGi bundle information and bundle classloader / activator
> --------------------------------------------------------------
>
> Key: MYFACES-2290
> URL: https://issues.apache.org/jira/browse/MYFACES-2290
> 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: 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.