I’m trying to use the Juggernaut http://juggernaut.rubyforge.org/ gem
for a
project and would like to use JRuby. It depends on the JSON and
Eventmachine gems. The JSON gem uses a native extension, but they also
have
a pure ruby version so I changed Juggernaut to depend on the pure ruby
version instead which works fine now. But now I’m having a problem with
Eventmachine.
This is the exception I get when trying to access the Juggernaut server:
arthman:railpro jjathman$ jruby -S juggernaut -c juggernaut.yml
Starting Juggernaut server on port: 5001…
/Users/jjathman/jruby/lib/ruby/gems/1.8/gems/juggernaut-0.5.7/bin/…/lib/juggernaut/server.rb:369:in
client_ip': undefined method
get_peername’ for EventMachine:Module
(NoMethodError)
from
/Users/jjathman/jruby/lib/ruby/gems/1.8/gems/juggernaut-0.5.7/bin/…/lib/juggernaut/server.rb:59:in
post_init' from /Users/jjathman/jruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.6-java/lib/eventmachine.rb:1453:in
new’
from
/Users/jjathman/jruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.6-java/lib/eventmachine.rb:1446:in
instance_eval' from /Users/jjathman/jruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.6-java/lib/eventmachine.rb:1446:in
new’
from
/Users/jjathman/jruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.6-java/lib/eventmachine.rb:1269:in
event_callback' from /Users/jjathman/jruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.6-java/lib/jeventmachine.rb:49:in
eventCallback’
from
/Users/jjathman/jruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.6-java/lib/jeventmachine.rb:67:in
run_machine' from /Users/jjathman/jruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.6-java/lib/eventmachine.rb:240:in
run’
from
/Users/jjathman/jruby/lib/ruby/gems/1.8/gems/juggernaut-0.5.7/bin/…/lib/juggernaut/runner.rb:72:in
start' from /Users/jjathman/jruby/lib/ruby/gems/1.8/gems/juggernaut-0.5.7/bin/../lib/juggernaut/runner.rb:48:in
initialize’
from
/Users/jjathman/jruby/lib/ruby/gems/1.8/gems/juggernaut-0.5.7/bin/…/lib/juggernaut/runner.rb:11:in
run' from /Users/jjathman/jruby/lib/ruby/gems/1.8/gems/juggernaut-0.5.7/bin/juggernaut:4 from /Users/jjathman/jruby/lib/ruby/gems/1.8/gems/juggernaut-0.5.7/bin/juggernaut:19:in
load’
from /Users/jjathman/jruby/bin/juggernaut:19
But from what I can see it sure looks like there is a get_peername
method
defined in the JRuby version of the event machine gem. Anyone have any
ideas what’s going on? Thanks.
Joe