问题标签 [jrubyonrails]

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 投票
2 回答
219 浏览

ruby-on-rails - 在开发模式下自动刷新 Rails Metal

我正在尝试使用 sinatra 开发一个 rails metal 端点,但事实证明这很痛苦,因为每次更改代码时我都必须重新启动服务器。我在 Jruby 中并在一个更大的 Java 应用程序中运行。有没有一种简单的方法可以为每个请求刷新此代码?

0 投票
0 回答
449 浏览

memcached - java类的jruby rails memcached解组错误

我有一个通过 JMS 与一些 java 服务通信的 rails 应用程序。我将其中一些对象缓存在 rails 端的 memcached 中,如下所示:

MEMCACHE 在哪里

现在,我正在尝试编写测试来验证我的 memcache 是否正确存储这些并正确更新。不幸的是,当我尝试访问缓存中的对象时,我得到了

奇怪的是,在脚本/控制台中引用缓​​存可以正常工作。但是,当我运行应用程序和单元测试时,我收到了这个错误。我认为在同一个环境中控制台和应用程序之间没有任何区别。

我在下面包含了完整的堆栈跟踪。它似乎来自 ActiveSupports Memcache 客户端的深处。我已经尝试了所有的组合,甚至在访问缓存之前实例化了这个特定的类,但是没有一个起作用。

Rails 显然知道该类,因为我可以直接在我的测试中检索、实例化和创建这些 java 对象,没有任何问题,只有从 MEMCACHE 访问它时,我才会收到此错误。

安装
jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-13 6586) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_17) [x86_64-java]
Rails 2.2.2
OSX 10.6

完整的测试堆栈跟踪

0 投票
2 回答
673 浏览

module - jruby 包含 java 类性能与包含一个包

我有一个 jruby rails 应用程序,它在 lib 中有一个 ruby​​ 模块,它对我的​​ java 对象进行命名,所以我没有冲突。

我想知道在该模块中包含特定类和包含包之间有什么区别。我在下面包含了示例代码。

在控制台中,例如 1当我说 MyMod:: 并点击选项卡时,它具有(例如)101 个方法和类选项,其中 MyMod::MyClass 是其中之一。

例如2,当我点击 MyMod:: 和选项卡时,它只有 100 个方法/类选项,并且不包含 MyClass。如果我然后去引用 MyMod::MyClass,然后再次运行该 MyMod:: 选项卡,我现在有 101 个选项,并且列出了 MyClass。

这是我的问题。在我的模块 à la示例 1中立即引用这些类与让它们像示例 2那样按需加载有什么区别。如果我有一个包含大约 20 个类的包,我希望它们是按需加载还是预先加载,并且按需加载是否有任何开销,例如示例 2

示例代码:

示例 1

示例 2

0 投票
2 回答
610 浏览

ruby-on-rails - 铁路时区

我了解 rails 的默认行为是将数据库记录和任何与日期/日期时间相关的列保存到 UTC 时间。我们可以通过 environment.rb 中的 config.time_zone 来控制向用户显示日期/日期时间。所以基本上 config.time_zone 设置是控制显示,rails 通过它将记录从 UTC 转换为我们在 config.time_zone 中指定的记录。

是否有任何方法或设置强制 rails 将记录保存在 EST 而不是 UTC 中,并且仍然根据 config.time_zone 设置进行转换以显示?

-萨蒂诺斯

0 投票
1 回答
1253 浏览

maven-2 - 使用 maven 管理 jruby rails 应用程序中的 java 依赖项

我正在尝试编写一个 pom.xml,它允许我在本地运行命令并获取我的 jruby Rails 应用程序具有的所有依赖项。我看到两个不同的配置,但我不完全确定要使用哪个(因为我不是 java 人)

首先,我看到的许多 Pom 只是在 pom.xml 的根目录下有一个标签,列出了所有依赖项。然而,这没有关于这些存储位置等的任何信息......所以我觉得这不是我想要的(我需要将它们复制到我的 rails lib 目录)

第二种选择,我在 mvn 文档中看到的是使用 maven-dependency-plugin,这似乎更像我正在寻找的。我假设我的 outputDirectory 会像lib

所以我不完全理解第一个选项的依赖列表的目的是什么。我想要的只是 mvn 将我的 jar 复制到本地(然后最终当我的 CI 服务器进行部署时)。有人可以指出我正确的方向吗?

第一个选项

第二种选择

0 投票
2 回答
1486 浏览

classpath - tomcat 5.5 web.xml 更改 WEB-INF/lib 目录

我有一个 jruby rails 应用程序,它在 rails lib/java 中有一些 jar 依赖项。我更喜欢将它们直接放在 lib 中,因为它将我的 java 库与 ruby​​ 库分开。使用 jruby 在本地工作。问题是,在部署时,tomcat 在 WEB-INF/lib,而不是 WEB-INF/lib/java 中寻找一堆这些 jars(例如 jruby)。

我需要在 web.xml 中放置一些配置,告诉 tomcat 也查看 lib/java,但我找不到任何关于此事的文档。

我不想修改 tomcat 的系统范围类路径,我只想告诉它的类加载器只检查这个特定应用程序的 WEB-INF/lib 以外的目录

谁能启发我如何做到这一点?

0 投票
1 回答
445 浏览

ruby-on-rails - jruby/activerecord-jdbc/tomcat/DB2 为企业准备好了吗?

我正在尝试将 RoR 介绍给我的公司,我有两种方法:

(1) rails/ibm_db2/passenger/DB2 - 这是我更喜欢的方式,但公司的基础设施并不真正支持它。
(2) jruby/activerecord-jdbc/tomcat/DB2 - 如果我有证据证明这是一种企业就绪技术,可能更容易依赖当前的基础设施和 java 库进行迁移。

有谁知道是否有任何教授认为 jruby/aciverecord-jdbc-adapter/DB2/tomcat 足够成熟以进行生产?在开发/部署/运行时有什么我应该知道的问题吗?

我的 webapp 适用于公司内部网,大约有 200~400 个活跃用户。

0 投票
1 回答
404 浏览

java - java.net 正在迁移到 Jruby?

Oracle 的 Ted Farrell在http://kenai.com/上有一篇文章,其中有一个有趣的声明:

我们正在将 java.net 迁移到 kenai 技术。

这是否意味着 java.net 将由 Jruby on rails 提供支持?

0 投票
1 回答
586 浏览

jms - Tomcat CPU 使用率峰值上的 Jruby Rails 应用程序

这也可能属于服务器故障。这是服务器配置和代码之间的一种组合(我认为)

这是我的设置:

运行top,每次我点击我网站上的链接时,我都会看到我的java进程 CPU 使用率飙升。如果它是一个小页面,它有时只有 10% 的使用率,但有时在一个更复杂的页面上,我的 CPU 会上升到 44%(从来没有超过,不知道为什么)。在这种情况下,一个请求可能需要几分钟,而我的服务器load average稳步攀升至 8 或更高。这只是通过单击一个链接来加载来自某些服务的一些请求,没有什么太复杂的。Java 进程内存大部分时间徘徊在 20% 左右。

如果我稍等片刻,平均负载就会变回零。单击更多链接,爬回。

我正在为 rails 前端运行一个小型亚马逊实例,并为所有服务运行一个大型实例。

现在,这显然是不可接受的。单个用户可以将平均负载峰值提高到 8,并且在两个人使用它的情况下,它会在我们使用该网站的持续时间内保持该平均负载。我想知道我能做些什么来检查发生了什么?我完全不知道如何调试它。(当我通过 jruby 运行 rails 应用程序时,它不会在本地发生,而不是在 tomcat 容器内)

有人可以告诉我如何检查我的 jruby 应用程序以找出它如何可能会占用如此巨大的资源吗?

请注意,我之前注意到这一点,似乎是随机的,但现在,在从 Rails 2.2.2 升级到 2.3.5 之后,我一直都在看到它,它使网站完全无法使用。

非常感谢任何有关在哪里查看的提示。我什至不知道从哪里开始。

0 投票
2 回答
653 浏览

jrubyonrails - Rails Warbler 部署

我正在做一些测试来确定 Rails 战争的资源使用情况。我已经使用 Warbler 使用 Rails 2.3.5 和 JRuby 1.4.0 打包“15 分钟博客”应用程序。我正在部署到 Tomcat 6.0.24 并通过将 blog.war 文件复制为 blogN.war 来创建多个部署。

这对于前 4 次部署非常有效,但我似乎无法部署超过 4 个战争实例;换句话说,catalina.out 日志挂起“部署 Web 应用程序存档 blog5.war”。

关于问题可能是什么或我如何更好地解决这个问题的任何想法?