Hi Really it could be a big help if you could provide an example about how is your setup in this case. It is very difficult to reproduce this cases without a proper example and configuration. I only was able to run myfaces in osgi using spring dm (which solves all those issues doing some things nasty from osgi point of view) so I could help better if we have some proper test case for suppor it. It could be a big help to know the "hacks" to be done for handle classloading, load resources and so on in a osgi compatible way.
regards, Leonardo Uribe 2010/2/22 Jarek Gawor <[email protected]> > Hi, > > I was wondering if somebody could take a look at MYFACES-2550. Also, > the published snapshot of MyFaces core is a little old. > > Thanks, > Jarek > > On Thu, Feb 11, 2010 at 12:49 PM, Jarek Gawor <[email protected]> wrote: > > Thanks for fixing MYFACES-2548! I just opened MYFACES-2550 for the > > AnnotationConfigurator.getMyfacesImplJarFile() issue. > > > > Thanks again, > > Jarek > > > > On Thu, Feb 11, 2010 at 12:19 AM, Jarek Gawor <[email protected]> wrote: > >> Ok, sure. For now I created MYFACES-2548 with a proposed patch. I > >> might open one more bug for the > >> AnnotationConfigurator.getMyfacesImplJarFile() issue once I do little > >> more testing. > >> > >> Jarek > >> > >> On Wed, Feb 10, 2010 at 5:51 PM, Jakob Korherr <[email protected]> > wrote: > >>> Hi Jarek, > >>> > >>> It would be great if you could file your problems as issues in the > jira. > >>> Then I will take a look at them! > >>> > >>> Thanks, > >>> Jakob > >>> > >>> 2010/2/10 Jarek Gawor <[email protected]> > >>>> > >>>> Hi all, > >>>> > >>>> I'm trying to make latest MyFaces core run in OSGi environment (in > >>>> Geronimo 3.0) and I'm running into a few problems. I'm hoping to get > >>>> your input on some of these problems. Here's our setup: we deploy > >>>> myfaces-api and myfaces-impl as separate bundles and we also have a > >>>> separate bundle that is the application (effectively a war file) that > >>>> uses jsf. When running the application, Geronimo sets the context > >>>> class loader to the application classloader which delegates the calls > >>>> to the application bundle. > >>>> > >>>> Now, most of the problems we are running into are due to use of the > >>>> context class loader in myfaces code to lookup resources within the > >>>> META-INF directory. > >>>> > >>>> For example, IncludeHandler.java looks up > >>>> META-INF/rsc/myfaces-dev-error-include.xhtml resource or > >>>> FacesConfigurator.java looks up META-INF/standard-faces-config.xml > >>>> resource via CCL. This works great in a regular Java environment but > >>>> breaks in OSGi. One easy solution for this would be to first ask the > >>>> CCL for the resource and if none is found ask the surrounding class > >>>> class loader for that resource (assuming the resource we are looking > >>>> for lives in the same jar as the class loading it), i.e.: > >>>> > >>>> URL foo = getContextClassLoader().getResource("META-INF/foo"); > >>>> if (foo == null) { > >>>> foo = getClass().getClassLoader().getResource("META-INF/foo"); > >>>> } > >>>> > >>>> There are other more advanced work-arounds (e.g. ContextFinder in > >>>> Equinox) but I'm wondering what people think about updating the > >>>> MyFaces code to use this simple solution. Just to be clear, this only > >>>> needs to be done for a few known resources that live within the impl > >>>> or api jars and not for all resource lookups. > >>>> > >>>> The ErrorPageWriter.java also looks up some resources via CCL and can > >>>> fall back to looking for META-INF/rsc/myfaces-dev-error.xml and > >>>> META-INF/rsc/myfaces-dev-debug.xml. But these resources live in the > >>>> api module for some reason. I'm not sure why but I'm hoping they can > >>>> be moved to the impl module. That way the simple solution mentioned > >>>> above would still work. > >>>> > >>>> My final problem is with > >>>> AnnotationConfigurator.getMyfacesImplJarFile(). Besides the problem > >>>> with META-INF lookup using CCL and even if that method successfully > >>>> looked up that resource, it won't be able to get a JarFile out it. > >>>> Because the url returned from resource lookup in OSGi environment > >>>> can't be considered as a url to a jar file. So I think we will need a > >>>> way to override that piece of code from Geronimo somehow. Maybe even > >>>> making the getMyfacesImplJarFile() method protected would work for us > >>>> (we can return a fake JarFile that deletes calls to a bundle object). > >>>> > >>>> Thanks, > >>>> Jarek > >>> > >>> > >> > > >
