我有一个使用Rack::FiberPool和EventMachine的 JRuby/Rails 应用程序。我有一些基于事件的动作控制器:
class TwitterController < ApllicationController
def tweets
fiber = Fiber.current
tweets = nil
EventMachine.next_tick do
http = EM::HttpRequest.new("http://search.twitter.com/search?q=rails+3&format=json").get
http.callback do
tweets = JSON.parse(http.response)
fiber.resume
end
http.errback do
puts "request failed"
fiber.resume
end
end
Fiber.yield
render :json => tweets
end
end
当我使用瘦服务器手动运行时,它工作正常:
rails s thin
但是当我部署到 Tomcat 时它不起作用。无论如何在Tomcat中使用EventMachine?
谢谢。