JRuby jsr223 support incompatible with OSGI (should not use 
currentThread().getContextClassLoader())
----------------------------------------------------------------------------------------------------

                 Key: JRUBY-4806
                 URL: http://jira.codehaus.org/browse/JRUBY-4806
             Project: JRuby
          Issue Type: Bug
          Components: Embedding
    Affects Versions: JRuby 1.5
         Environment: Jruby 1.5 + Java 1.6+ Mac OS X + Felix OSGI
            Reporter: Morten Christensen


The new JRuby jsr223 support in JRuby 1.5 is hostile to OSGI because it uses 
the context class loader:

Hence, if one try to use javax.script.ScriptEngineManager from a OSGI bundle 
one will get "ScriptEngineManager providers.next(): 
javax.script.ScriptEngineFactory: Provider 
org.jruby.embed.jsr223.JRubyEngineFactory could not be instantiated: 
java.lang.NullPointerException".

This error is not so detailed but if one instantiate 
org.jruby.embed.jsr223.JRubyEngineFactory instead, one will get

java.lang.NullPointerException
        at java.util.Properties$LineReader.readLine(Properties.java:418)
        at java.util.Properties.load0(Properties.java:337)
        at java.util.Properties.load(Properties.java:325)
        at 
java.util.PropertyResourceBundle.<init>(PropertyResourceBundle.java:111)
        at org.jruby.embed.util.PropertyReader.<init>(PropertyReader.java:52)
        at 
org.jruby.embed.jsr223.JRubyEngineFactory.<init>(JRubyEngineFactory.java:65)

Then, looking at the source for org.jruby.embed.util.PropertyReader, I can see 
it uses "Thread.currentThread().getContextClassLoader()". This is a NO NO in 
OSGI and will NOT work in standard OSGI environments. Instead, the JRuby jsr223 
support should use the classloader argument passed to 
javax.script.ScriptEngineManager !!


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to