2

问题

似乎将 Tomcat 作为服务运行并不适合使用 warble 打包的 Rails 3 应用程序。查看日志文件,看起来要么存在循环依赖,要么存在动态解析但找不到的依赖,因此它循环。最终,org.jruby.exceptions.RaiseException: stack level too deep被抛出。但是,当我使用startup.bat启动 Tomcat 时,不会出现此问题。

任何帮助,将不胜感激!我一直在拼命寻找这个问题的答案。提前致谢!

部署平台

  • Windows Server 2008(64 位)
  • Apache Tomcat 6.29(64 位)
  • JDK 1.6
  • 导轨 3
  • jruby 1.5.6
  • 莺 (1.2.1)
  • jruby-jars (>= 1.4.0)
  • jruby 机架 (>= 1.0.0)

Tomcat 本地主机.log

http://pastie.org/1308566

4

3 回答 3

2

我猜您的数据库连接信息包含一个意外的空字符串,系统正试图在某处将其转换为大写。将此错误消息视为提示:

在 ERB.result(C:/bin/apache-tomcat-6.0.29/webapps/rails3app/WEB-INF/gems/gems/railties-3.0.0/lib/rails/application/configuration.rb:86) 在 Rails ::Application::Configuration.database_configuration(C:/bin/apache-tomcat-6.0.29/webapps/rails3app/WEB-INF/gems/gems/activerecord-3.0.0/lib/active_record/railtie.rb:58)

这可以通过配置编辑来纠正。

于 2010-12-14T08:08:00.670 回答
1

我刚刚在您的 Jruby 票 [http://jira.codehaus.org/browse/JRUBY-5237] 上发布了以下内容:

这实际上是 Tomcat <= 6.0.29 附带的 procrun(Apache Commons Daemon)版本的问题。您需要升级整个 Tomcat 6 安装或您正在使用的 procrun 版本。Procrun 需要 >= 1.0.4

Tomcat 6 升级:http: //tomcat.apache.org/download-60.cgi

我遇到了同样的问题,升级为我解决了这个问题。

如果您对详细信息感兴趣,我已在http://techblog.amphora-research.com/2011/03/tomcat-6-stack-level-too-deep-error-on-windows/上发布过。

祝你好运!

于 2011-03-04T07:19:22.073 回答
0

查看您的 startup.bat 配置。可能是 Tomcat 通过那里以更高的 Java 内存设置启动,允许递归完成而不会耗尽内存。

于 2010-12-15T14:19:48.447 回答