Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.1RC1
-
Fix Version/s: JRuby 1.1RC2
-
Component/s: Core Classes/Modules
-
Labels:None
-
Environment:Latest JRuby 1.1RC1 from trunk.
-
Number of attachments :
Description
I've downloaded the latest Glassfish gem from
http://download.java.net/javaee5/v3/releases/gem/GlassFish-10.0.0-java.gem
Created a rails, projects, database, etc. Created a simple scaffold:
jruby script\generate scaffold post title:string body:text published:boolean
Then jruby -S rake db:migrate
When I execute
jruby -S glassfish_rails hello
and then try to access
http://localhost:8080/hello/posts
I got:
SEVERE: processorTask.serviceError
java.lang.NoSuchMethodError: org.jruby.Ruby.parse(Ljava/io/Reader;Ljava/lang/String;Lorg/jruby/runtime/Dynamic
Scope;I)Lorg/jruby/ast/Node;
at com.sun.grizzly.jruby.RailsAdapter.serviceDynamicContent(RailsAdapter.java:119)
at com.sun.grizzly.standalone.DynamicContentAdapter.service(DynamicContentAdapter.java:118)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
at com.sun.enterprise.v3.services.impl.GrizzlyAdapter.service(GrizzlyAdapter.java:251)
at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:598)
at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:529)
at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:773)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:130)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:90)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:68)
at com.sun.grizzly.http.SelectorThread$1.execute(SelectorThread.java:628)
at com.sun.grizzly.Context.call(Context.java:266)
at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:179)
Jan 8, 2008 10:12:51 PM com.sun.grizzly.http.DefaultProcessorTask invokeAdapter
This problem seems to be due to incompatible change in Ruby.java, when the parse() method was removed.
It seems that the breaking API change was intentional and the old API is not going re-appear. So , the gem should be updated to use newer API, it seems.