问题标签 [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.
ruby - 是否有 JRuby-Rack Sinatra Warbler Project 原型?
是否有一个 jruby + rack + Sinatra 项目的项目原型(或任何 ruby 社区所称的),它创建一个 WAR 部署文件,所有必需的依赖项都准备就绪?
我想要的是相当于“rails appname”,它创建一个准备就绪的项目,其中包含 ant/rake 脚本和一个基本的目录层次结构都准备好了。
这样的野兽存在吗?
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 副本似乎很奇怪,是那我该做什么?
本
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 打开这个文件吗?
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 上时,它失败并显示以下堆栈跟踪:
进而:
谢谢, 阿卡迪
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 网站上的指南。步骤是:
- 在中创建
log4j.properties
文件$CATALINA_HOME/lib
- 下载并复制
log4j-x.y.z.jar
到$CATALINA_HOME/lib
- 替换
$CATALINA_HOME/bin/tomcat-juli.jar
为tomcat-juli.jar
Apache Tomcat Extras 文件夹中的 - 从 Apache Tomcat Extras 文件夹复制
tomcat-juli-adapters.jar
到$CATALINA_HOME/lib
- 删除
$CATALINA_BASE/conf/logging.properties
- 启动 Tomcat(作为服务)
根据指南的预期结果
我应该tomcat.log
在我的$CATALINA_BASE/logs
文件夹中看到一个文件。
实际结果
- 没有tomcat.log
- 而是看到了三个标准日志
jakarta_service_20101231.log
stderr_20101231.log
stdout_20101231.log
问题
- 我不应该至少看过一个
tomcat.log
文件吗?
尝试 2 - 使用默认 Tomcat 日志记录 (commons-logging)
- 还原了之前设置的所有更改
$CATALINA_BASE/conf/logging.properties
通过执行以下操作进行修改:- 在行中为我的应用程序添加设置
handlers
:5rails3.org.apache.juli.FileHandler
添加处理程序特定属性
/li>添加设施特定属性
/li>
- 在行中为我的应用程序添加设置
通过根据 jruby-rack README 的 Logging 部分添加以下上下文参数来修改
/li>web.xml
我的(我也相应地修改了我的 warbler.rb,但我选择web.xml
直接更改以更快地测试事物)。重新启动Tomcat
结果
- 已创建日志文件 (
rails3.log
),但文件中没有日志信息。
尝试 2A - 将 Log4j 与现有设置一起使用
web.xml
我决定用这个新设置再试一次 Log4j 。
- 复制
log4j.jar
到我的WEB-INF/lib
文件夹 创建一个
/li>log4j.properties
文件并将其放入WEB-INF/classes
重新启动Tomcat
结果
与尝试 2 相同
注意:我之所以使用log4j.logger.javax.servlet=DEBUG
,是因为我在 jruby-rack README 中读到所有日志记录输出都会自动重定向到该javax.servlet.ServletContext#log
方法。所以我认为这会捕捉到它,但我显然错了。
问题
- 为什么这不起作用?
- Log4J 不使用
commons_logging
API 吗?
尝试 3 - 试用 slf4j(已工作)
有点不确定为什么尝试 2A 不起作用,我心想,也许我不能commons_logging
用于jruby.rack.logging
参数,因为它可能没有使用commons_logging
API ......(但我仍然不确定)。我认为slf4j
这是一种选择。我从来没有听说过它,出于好奇,我决定查一下。在简要阅读了它之后,我认为它和任何一个镜头一样好,并决定按照这里的说明进行尝试。
继续尝试 2A 的设置:
- 复制
slf4j-api-1.6.1.jar
到slf4j-simple-1.6.1.jar
我的WEB-INF/lib
文件夹 - 我也复制
slf4j-log4j12-1.6.1.jar
到我的WEB-INF/lib
文件夹中 - 重新启动Tomcat
还有维奥拉!我现在有日志信息进入我的rails3.log文件。
所以最大的问题是:
怎么回事?
尽管现在日志记录似乎正在工作,但我真的不确定我所做的是否正确。所以就像我之前说的,我真的或多或少地在寻找一些验证。如果您有任何指示/提示/建议,我也将不胜感激。谢谢!
jruby - 在tomcat中的jruby/rack中使用jruby时如何/在哪里为jruby设置--fast模式?
在tomcat中的jruby/rack中使用jruby时如何/在哪里为jruby设置--fast模式?
这个--fast模式在这个页面 jruby性能调优中解释
ruby - 什么是 JRuby-Rack?
我有一个使用 rack and thin 用 Ruby 编写的现有 Web 应用程序。我需要将它移植到 JRuby,以便它可以与一些 Java 库交互。谷歌向我指出了这个页面:https ://github.com/jruby/jruby/wiki/JRuby_Rack
这个 JRuby-Rack 是什么?我对 Ruby 的了解不够,似乎无法弄清楚,而且似乎没有任何教程。我不知道什么是颤音,我见过的唯一例子是我没有使用的导轨。
如果有一种不那么痛苦的方法,请告诉我。
jruby - 如何/在哪里为在 jruby-rack/tomcat 中运行的 jruby 设置 --profile.api 选项?
如何/在哪里为--profile.api
在 jruby-rack/tomcat 中运行的 jruby 设置选项?
此选项记录在如何在此处分析代码块
jruby - JRuby Rack - 如何添加 servlet 过滤器?
我正在尝试(没有成功)将 JRuby Rack - Rails 应用程序的响应传递给过滤器,以便对其进行处理。基本上我想使用 Orbeon XForm 引擎来增强来自我的 Rails 应用程序的 XHTML 输出。如果我在 JRuby Rack 上使用一个简单的 Java servlet,一切都会顺利进行。
这是 web.xml 文件:
在此先感
谢桑德罗。
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 还是底层的日志机制中?