【问题标题】:Can I use JRuby on Rails and Java Servlet in a same project?我可以在同一个项目中使用 JRuby on Rails 和 Java Servlet 吗?
【发布时间】:2012-09-05 09:33:23
【问题描述】:

我的项目需要 Rails 和 Java 才能获得特殊的扩展能力。

我们首先启动了一个纯 JRuby on Rails 项目,并将其部署到 Tomcat。问题是我们的 Tomcat 服务器的资源非常有限,只有 20-30 个线程。这意味着我们的网络应用一次只能同时为 20-30 个用户提供服务。

我们计划通过使用 EventMachine 将一些繁重的同步代码转换为事件代码来提高吞吐量。使用事件代码,单个线程可以做更多的工作,而不是等待长时间的工作完成。

但是要使用EventMachine,web服务器必须是基于事件的,而Tomcat则不然。

JRuby/Tomcat 中似乎没有混合多线程和事件解决方案,因此我们决定将 Servlet 3.0 中的异步支持与我们当前的 Rails 应用程序结合起来。部分代码将使用 Java 和 Servlet 库编写。听起来很疯狂,但我们认为它最适合我们。

无论如何我可以用 JRuby Rails、Warbler 和 Java Servlet 3.0 做到这一点吗?

感谢您的关注。任何建议都非常感谢。

【问题讨论】:

  • 你能详细说明一下特殊的缩放能力吗?
  • 是的,我在问题中添加了更多详细信息。

标签: java ruby-on-rails servlets jruby warbler


【解决方案1】:

我自己没有尝试过,但我想你应该能够创建一个标准的 jruby+rails 应用程序,将其打包为一个 war 文件,然后配置 web.xml 以在某些 url 上使用 servlet。

此外,该基准表明混合 java 和 jruby 解决方案是优化瓶颈的好主意http://www.techempower.com/blog/2013/03/28/framework-benchmarks/

【讨论】:

  • 我想是的。谢谢你的链接:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-04
  • 1970-01-01
  • 2021-10-31
  • 2018-08-02
相关资源
最近更新 更多