问题标签 [jruby-rack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1055 浏览

ruby - 是否有 JRuby-Rack Sinatra Warbler Project 原型?

是否有一个 jruby + rack + Sinatra 项目的项目原型(或任何 ruby​​ 社区所称的),它创建一个 WAR 部署文件,所有必需的依赖项都准备就绪?

我想要的是相当于“rails appname”,它创建一个准备就绪的项目,其中包含 ant/rake 脚本和一个基本的目录层次结构都准备好了。

这样的野兽存在吗?

0 投票
1 回答
825 浏览

jruby - 应该如何使用 warbler 将 jruby-jars 和 jruby-rack 添加到类路径中?

我一直在阅读莺源代码,但我无法弄清楚 jruby-jars 和 jruby-rack jars 是如何最终出现在 servlet 类路径上的?

似乎莺正在将它们复制到web-inf/gems/gems/<gemname>/lib/<jarname>.jar但它们不在类路径上。

我猜如果我把它们放在我的 ruby​​ 应用程序 lib/ 文件夹中,它们会被复制到 web-inf/lib 并且一切都会好起来的,但是,在 war 文件中有 2 个 jar 副本似乎很奇怪,是那我该做什么?

0 投票
1 回答
387 浏览

ruby-on-rails - 当使用 jruby-rack 部署到 tomcat 时,防止 Rails 打开 production.log

我必须使用 jruby-rack 将 Ruby on Rails 应用程序部署到 tomcat 应用程序服务器。由于安全原因,我的客户将 webapps 目录安装为只读,他不会更改此设置。出现的问题是,rails 记录器希望以写入模式打开 WEB-INF/log/production.log。他没有向该文件写入任何内容,因为 log4j 和朋友都已配置并且正在工作,但 rails 抱怨该文件不可读。

有什么建议可以防止 rails 打开这个文件吗?

0 投票
2 回答
878 浏览

jruby - JRuby on Rails 应用程序和 JBoss 4.2.0/Tomcat 5.5

我的 JRuby on rails 应用程序在 Tomcat 6.0 上运行良好,但是当我将它部署在我公司的 JBoss 4.2.0/Tomcat 5.5 (Servlet API 2.4) 的 webfarm 上时,它失败并显示以下堆栈跟踪:

进而:

谢谢, 阿卡迪

0 投票
2 回答
2839 浏览

log4j - 在 tomcat jruby-rack 上使用 log4j 记录 Rails 3 应用程序

我刚刚花了 3 个小时的大部分时间试图让我的 Rails 应用程序使用 Log4j 进行日志记录。我终于让它工作了,但我不确定我所做的是否正确。直到最后一次尝试,我尝试了各种方法都无济于事。所以我真的在这里寻找一些验证,也许还有一些指示和提示——老实说,任何事情都会受到赞赏。我将我所有的弱方法总结为以下三种尝试。我希望能对我每次尝试出错的地方有所启发——即使这意味着我被撕毁了。

我在这里先向您的帮助表示感谢!

系统规格

  • 导轨 3.0
  • 视窗服务器 2008
  • 日志4j 1.2
  • Tomact 6.0.29
  • 爪哇 6

尝试 1 - 将 Tomcat 配置为使用 Log4J

我基本上遵循了 Apache Tomcat 网站上的指南。步骤是:

  1. 在中创建log4j.properties文件$CATALINA_HOME/lib
  2. 下载并复制log4j-x.y.z.jar$CATALINA_HOME/lib
  3. 替换$CATALINA_HOME/bin/tomcat-juli.jartomcat-juli.jarApache Tomcat Extras 文件夹中的
  4. 从 Apache Tomcat Extras 文件夹复制tomcat-juli-adapters.jar$CATALINA_HOME/lib
  5. 删除$CATALINA_BASE/conf/logging.properties
  6. 启动 Tomcat(作为服务)

根据指南的预期结果

我应该tomcat.log在我的$CATALINA_BASE/logs文件夹中看到一个文件。

实际结果

  • 没有tomcat.log
  • 而是看到了三个标准日志
    • jakarta_service_20101231.log
    • stderr_20101231.log
    • stdout_20101231.log

问题

  • 我不应该至少看过一个tomcat.log文件吗?

尝试 2 - 使用默认 Tomcat 日志记录 (commons-logging)

  1. 还原了之前设置的所有更改
  2. $CATALINA_BASE/conf/logging.properties通过执行以下操作进行修改:

    1. 在行中为我的应用程序添加设置handlers5rails3.org.apache.juli.FileHandler
    2. 添加处理程序特定属性

      /li>
    3. 添加设施特定属性

      /li>
  3. 通过根据 jruby-rack README 的 Logging 部分添加以下上下文参数来修改web.xml我的(我也相应地修改了我的 warbler.rb,但我选择web.xml直接更改以更快地测试事物)。

    /li>
  4. 重新启动Tomcat

结果

  • 已创建日志文件 ( rails3.log),但文件中没有日志信息。

尝试 2A - 将 Log4j 与现有设置一起使用

web.xml我决定用这个新设置再试一次 Log4j 。

  1. 复制log4j.jar到我的WEB-INF/lib文件夹
  2. 创建一个log4j.properties文件并将其放入WEB-INF/classes

    /li>
  3. 重新启动Tomcat

结果

与尝试 2 相同

注意:我之所以使用log4j.logger.javax.servlet=DEBUG,是因为我在 jruby-rack README 中读到所有日志记录输出都会自动重定向到该javax.servlet.ServletContext#log方法。所以我认为这会捕捉到它,但我显然错了。

问题

  1. 为什么这不起作用?
  2. Log4J 不使用commons_loggingAPI 吗?

尝试 3 - 试用 slf4j(已工作)

有点不确定为什么尝试 2A 不起作用,我心想,也许我不能commons_logging用于jruby.rack.logging参数,因为它可能没有使用commons_loggingAPI ......(但我仍然不确定)。我认为slf4j这是一种选择。我从来没有听说过它,出于好奇,我决定查一下。在简要阅读了它之后,我认为它和任何一个镜头一样好,并决定按照这里的说明进行尝试。

继续尝试 2A 的设置:

  1. 复制slf4j-api-1.6.1.jarslf4j-simple-1.6.1.jar我的WEB-INF/lib文件夹
  2. 我也复制slf4j-log4j12-1.6.1.jar到我的WEB-INF/lib文件夹中
  3. 重新启动Tomcat

还有维奥拉!我现在有日志信息进入我的rails3.log文件。

所以最大的问题是:

怎么回事?

尽管现在日志记录似乎正在工作,但我真的不确定我所做的是否正确。所以就像我之前说的,我真的或多或少地在寻找一些验证。如果您有任何指示/提示/建议,我也将不胜感激。谢谢!

0 投票
1 回答
463 浏览

jruby - 在tomcat中的jruby/rack中使用jruby时如何/在哪里为jruby设置--fast模式?

在tomcat中的jruby/rack中使用jruby时如何/在哪里为jruby设置--fast模式?

这个--fast模式在这个页面 jruby性能调优中解释

0 投票
1 回答
279 浏览

ruby - 什么是 JRuby-Rack?

我有一个使用 rack and thin 用 Ruby 编写的现有 Web 应用程序。我需要将它移植到 JRuby,以便它可以与一些 Java 库交互。谷歌向我指出了这个页面:https ://github.com/jruby/jruby/wiki/JRuby_Rack

这个 JRuby-Rack 是什么?我对 Ruby 的了解不够,似乎无法弄清楚,而且似乎没有任何教程。我不知道什么是颤音,我见过的唯一例子是我没有使用的导轨。

如果有一种不那么痛苦的方法,请告诉我。

0 投票
2 回答
460 浏览

jruby - 如何/在哪里为在 jruby-rack/tomcat 中运行的 jruby 设置 --profile.api 选项?

如何/在哪里为--profile.api在 jruby-rack/tomcat 中运行的 jruby 设置选项?

此选项记录在如何在此处分析代码块

0 投票
1 回答
663 浏览

jruby - JRuby Rack - 如何添加 servlet 过滤器?

我正在尝试(没有成功)将 JRuby Rack - Rails 应用程序的响应传递给过滤器,以便对其进行处理。基本上我想使用 Orbeon XForm 引擎来增强来自我的 Rails 应用程序的 XHTML 输出。如果我在 JRuby Rack 上使用一个简单的 Java servlet,一切都会顺利进行。

这是 web.xml 文件:

在此先感
谢桑德罗。

0 投票
2 回答
830 浏览

logging - JRuby on Rails 日志轮换失败

我们在 Tomcat 上部署了一个 JRuby on Rails 2 应用程序,使用默认的 Rails 记录器。在我们越过 DST 边界一段时间后,我们发现应用程序已死,日志中显示以下错误消息:

通常,日志在午夜轮换。前一天的日志的最终时间戳始终为 23:59,11 月 6 日的日志除外,其时间戳为 22:59。

所以发生的事情是日志试图在晚上 11 点而不是午夜翻滚。然后,当它尝试创建新一天的日志时,它使用的是同一日期。

看起来我们的配置有问题,或者日志轮换时序逻辑中存在错误。

这是 environment.rb 的相关部分:

我假设 'UTC' 的 config.time_zone 设置用于 ActiveRecord,但我想知道这是否是原因。

我的问题是:可能是什么问题?另外,日志轮换时序逻辑在哪里?是在 Rails、Jruby-Rack 还是底层的日志机制中?