如何在同一个tomcat中部署相同Rails应用程序的多个实例

时间:2017-04-10 14:51:59

标签: ruby-on-rails tomcat jruby jruby-rack

我们希望使用jruby-rack在单个Tomcat容器中部署同一Rails应用程序的多个实例。

第一个实例很好,但第二个实例失败了:

INFO: Deploying web application directory app1
...
INFO: Deploying web application directory app2
Apr 10, 2017 4:48:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Apr 10, 2017 4:48:25 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/app2] startup failed due to previous errors
Apr 10, 2017 4:48:25 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc

解决问题的方法是将jruby.max.runtimes web.xml中的app2增加到2。但是如果我正确地得到这个参数,这意味着可以在一个实例中生成两个jRuby'进程' - 这不是我们想要的,并且会阻止应用程序正常工作。我们需要的是两个独立的“进程”,我们部署的每个实例都有一个。

这可能并且正在设置jruby.max.runtimes正确的解决方案吗?

1 个答案:

答案 0 :(得分:0)

看起来这是jRuby issue,问题已在9.1.8.0中修复。我们不能再重现这个问题了。