All, here is the Jira https://issues.apache.org/jira/browse/SHINDIG-1487. 
There is a patch with a fix for the problem attached for everyone's 
review.

-Ryan

Email: [email protected]
Phone: 978-899-3041
developerWorks Profile



From:   Ryan J Baxter/Westford/i...@lotus
To:     [email protected]
Date:   01/12/2011 02:53 PM
Subject:        Re: Class Loader Problems Within Shindig



Everything works fine when everything is in one bundle, but we really want 

to split the libs out into their own bundle, so they can be shared.
 
-Ryan

Email: [email protected]
Phone: 978-899-3041
developerWorks Profile



From:   Kris Vishwanathan/Fairfax/i...@ibmus
To:     [email protected]
Cc:     [email protected]
Date:   01/12/2011 02:45 PM
Subject:        Re: Class Loader Problems Within Shindig



Ryan,

Did you try putting all the resources into one bundle or may be specify a
bundle dependency in the MANIFEST.MF.

Thanks and regards

Kris Vishwanathan, PMP
IBM Certified IT Architect
The Open Group Master Certified IT Architect
IBM Software Group, WPLC
Ph: 919 543 1081 (T/L: 441-1081)
Ph; 877-316-0046 (T/L: 349-4847)
Cell: 919 830 2890

If I had one hour to save the world I would spend fifty-five minutes
defining the problem and only five minutes finding the solution - Albert
Einstein




 
  From:       Ryan J Baxter/Westford/i...@lotus 
 
  To:         [email protected] 
 
  Date:       01/11/2011 08:54 PM 
 
  Subject:    Re: Class Loader Problems Within Shindig 
 





Thanks for the info Paul.  Even if we do upgrade to Guice 3.0, I am not
sure if this would resolve our issues since it's Shindig's classes that
are actually loading the classes, not Guice classes.  Maybe I am not
understanding what you are saying....

-Ryan

Email: [email protected]
Phone: 978-899-3041
developerWorks Profile



From:   Paul Lindner <[email protected]>
To:     [email protected]
Date:   01/11/2011 04:19 PM
Subject:        Re: Class Loader Problems Within Shindig



Guice 3.0 is imminent.  The release notes claim that it has better support
for multiple classloaders and OSGi.

On Tue, Jan 11, 2011 at 11:59 AM, Ryan J Baxter <[email protected]>
wrote:

> Today I ran into a few problems with the class loader Shindig is using
in
> some of it's classes, specifically within the ResourceLoader and
> GuiceServletContextListener classes.  For my project I am embedding
> Shindig inside an Eclipse based application.  To do this we have decided
> to modularize Shindig a bit, and separate out the libraries (jars in the
> lib folder) Shindig uses into one plugin, and the actual web app into a
> different plugin.  Once I did this however Shindig could no longer find
> any of my guice modules, customized shindig.properties file, or
customized
> container.js file living in the web app plugin.  In the end I figured
out
> this was happening because of the class loader some of the Shindig
classes
> use.  From what I found, it looks like we are either using the current
> classes class loader or doing Class.forName(className) to load classes
and
> resources.  This is fine when a web app is running on Tomcat or Jetty
but
> in OSGi this can possibly break.  In OSGi, the class loader will use the
> current bundle's context.  So if you have a class foo within a jar in
> bundle A using the methods in Shindig today to load a class bar from
> bundle B, the class foo will use bundle A's class loader and cannot find
> the class bar in bundle B.  The easiest way to fix this would be to try
to
> use the class loader returned from
> Thread.currentThread().getContextClassLoader(), when the current codes
> class loader fails to load the class or resource requested.  So far I
have
> found problems in ResourceLoader.openResource and
> GuiceServletContextListener.contextInitialized.  The problem in
> GuiceServletContextListener I can work around by extending this class
and
> overriding contextInitialized, however there is no way for me to work
> around the problem in ResourceLoader, so I figured I would make the
change
> in GuiceServletContextListener as well.  Does anyone have any objection
to
> me making these changes, and does anyone know of other spots in Shindig
> where I may run into similar problems?
>
> -Ryan
>
> Email: [email protected]
> Phone: 978-899-3041
> developerWorks Profile
>
>


--
Paul Lindner -- [email protected] -- linkedin.com/in/plindner












Reply via email to