问题标签 [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.
ruby-on-rails - 在开发模式下自动刷新 Rails Metal
我正在尝试使用 sinatra 开发一个 rails metal 端点,但事实证明这很痛苦,因为每次更改代码时我都必须重新启动服务器。我在 Jruby 中并在一个更大的 Java 应用程序中运行。有没有一种简单的方法可以为每个请求刷新此代码?
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
完整的测试堆栈跟踪
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
ruby-on-rails - 铁路时区
我了解 rails 的默认行为是将数据库记录和任何与日期/日期时间相关的列保存到 UTC 时间。我们可以通过 environment.rb 中的 config.time_zone 来控制向用户显示日期/日期时间。所以基本上 config.time_zone 设置是控制显示,rails 通过它将记录从 UTC 转换为我们在 config.time_zone 中指定的记录。
是否有任何方法或设置强制 rails 将记录保存在 EST 而不是 UTC 中,并且仍然根据 config.time_zone 设置进行转换以显示?
-萨蒂诺斯
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 服务器进行部署时)。有人可以指出我正确的方向吗?
第一个选项
第二种选择
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 以外的目录
谁能启发我如何做到这一点?
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 个活跃用户。
java - java.net 正在迁移到 Jruby?
Oracle 的 Ted Farrell在http://kenai.com/上有一篇文章,其中有一个有趣的声明:
我们正在将 java.net 迁移到 kenai 技术。
这是否意味着 java.net 将由 Jruby on rails 提供支持?
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 之后,我一直都在看到它,它使网站完全无法使用。
非常感谢任何有关在哪里查看的提示。我什至不知道从哪里开始。
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”。
关于问题可能是什么或我如何更好地解决这个问题的任何想法?