我刚刚发现了JRuby,我喜欢运行Ruby on Rails并能够调用Java库的想法.
我想了解一些在JRuby中运行企业生产应用程序的经验.稳定性和性能是否可接受?
谢谢.
我的rails网站运行Mongrel,我使用的内存量有问题.我的ruby-bin进程占用了大约66 MB的驻留内存.如何减少rails使用的内存量?
如果以这种速度占用内存,在一台机器上运行许多rails服务器是不太经济的.我的php5 fcgi进程位于15-25 MB之间.
我对RoR很不熟悉,会不会使用JRuby的帮助?任何有助于减少内存占用和提高性能的评论都非常受欢迎.
我已经设法在App Engine上运行基本的rails app1:http: //gist.github.com/268192
所以,在我的基本app2上,我安装了CE,它在本地机器上工作正常.(communityengine.org)
但是,当我按照我的实际APP 2,其中community_engine插件安装和所有的宝石被冻结相同的步骤,App Engine的安装脚本询问超过编写各种文件一样的boot.rb,routes.rb中,这我不允许.
因此,正如预期的那样,当我将rails + ce应用程序发布到GAE时,它没有发布,它还会在app2上修复CE的本地安装.
所以,问题很明显,CE使用ActiveRecord,而GAE使用DataMapper.
所以,我的问题也可以改为:我们可以使用Active Record将现有的ROR应用程序迁移到使用DataMapper的GAE吗?
PS:这是我关于ROR和GAE的第一个项目.
google-app-engine activerecord ruby-on-rails jruby datamapper
我正试图找到一种方法将FDF文件内容注入可填写的PDF文件(由客户提供,而不应该使用Prawn或PDFKit'重新绘制'),我想我必须使用iText(与JRuby一起使用) )或pdftk.
这两个lib在我的Ubuntu本地机器上都没有问题,但我想知道如何让他们在Heroku上工作.有没有人试图让iText(JRuby)或PDFTK在Heroku上工作?
谢谢你的帮助!
我使用IntelliJ IDEA 9.0.4与最新版本的Ruby插件和JRuby 1.6.0.自动填充似乎不起作用.按ctrl-space只能显示一些顶级的东西.
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
Run Code Online (Sandbox Code Playgroud)
如果我输入M和ctrl-space,我希望在列表中看到Mechanize,但我什么都没得到.如果我在空行上进行ctrl-space,我会得到一些顶级的东西(FILE,LINE,别名,开始...).
我想使用优秀的Sass作为构建过程的一部分.我的构建过程由Gradle管理.这意味着编写一个插件来运行Sass.Sass是Ruby,Gradle是Groovy,但是由于Groovy在JVM上运行,我可以使用JRuby来运行它,使用Java 脚本API.Gradle脚本以jar文件的形式获得依赖关系; 我可以从Maven Central获得JRuby ,但我需要自己将Sass打包成jar.
我试图遵循尼克·西格尔(Nick Sieger)的宝石手套来做这件事,但没有成功.无论我做什么,我都无法让JRuby拿起Sass宝石.
为了隔离这个问题,我写了一个最小的Java(不是Gradle)程序试图通过JRuby使用Sass - 我创造性地称之为JSass:
有两三个有趣的位.第一个是脚本generate-gem-jar.sh,它构建了gem jar:
gem install -i build/gems sass --no-rdoc --no-ri
jar cf lib/gemsass.jar -C build/gems .
Run Code Online (Sandbox Code Playgroud)
第二个是运行JRuby 的so.demo.JSass类:
ScriptEngine rubyEngine = new ScriptEngineManager().getEngineByName("jruby");
ScriptContext context = rubyEngine.getContext();
context.setAttribute("inputFile", inputFile, ScriptContext.ENGINE_SCOPE);
String script = IOUtils.toString(JSass.class.getResourceAsStream("sassdriver.rb"));
rubyEngine.eval(script, context);
Run Code Online (Sandbox Code Playgroud)
第三个是主要类试图用来操作Sass的Ruby脚本:
require 'sass'
template = File.load(inputFile)
sass_engine = Sass::Engine.new(template)
output = sass_engine.render
puts output
Run Code Online (Sandbox Code Playgroud)
该程序能够加载JRuby引擎并执行脚本,但它失败了require 'sass',说:
LoadError: …Run Code Online (Sandbox Code Playgroud) 我正在尝试安装mysql gem以便在rails上使用,使用jruby,无法弄清楚...任何帮助表示赞赏!
$ sudo gem install mysql2
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/Users/masedesign/Work/repos/code/conf/vms/ruby/jruby/bin/jruby extconf.rb
WARNING: JRuby does not support native extensions or the `mkmf' library very well.
Check http://kenai.com/projects/jruby/pages/Home for alternatives.
checking for rb_thread_blocking_region()... checking for rb_wait_for_single_fd()... no
checking for mysql.h... yes
checking for errmsg.h... yes
checking for mysqld_error.h... yes
creating Makefile
make
cc -I. -I. -I/Users/masedesign/Work/repos/code/conf/vms/ruby/jruby/lib/native/include/ruby -I. -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/mysql/include -g …Run Code Online (Sandbox Code Playgroud) 我做了一些谷歌搜索,似乎jRuby的IDE很少.我已经阅读了有关TextMate和Sublime的内容,但它们没有提供调试或代码完成.
有人可以提出建议(或者这项技术还处于起步阶段)?
我想创建一个gem,当其他人试图将它与MRI一起使用时,它将使用C代码,当他们从JRuby使用它时,它将使用Java代码.
nokogiri和puma gems这样做,我已经看了他们的代码,但没看到他们是如何实现它的.
是否可以通过activerecord使用sqlite3的"共享缓存"?(见:http://www.sqlite.org/inmemorydb.html)
我在JRuby Swing应用程序中使用activerecord独立(没有rails),涉及一些Worker-Threads.问题:只有主线程才能访问数据,因为每个线程都会重建一个新的内存数据库.所以我得到了
[SQLITE_ERROR] SQL错误或缺少数据库(没有这样的表:insert_model_name)
来自世界各地,除了主线程.有解决方法还是我错过了什么?(我使用最新版本的jruby,java和宝石)
提前致谢!
到目前为止,Database-Config:https://gist.github.com/4482423
更新:最小脚本来说明问题.它在Linux下运行良好,但在WIndows 7中运行良好:https://gist.github.com/4483617
sqlite ruby-on-rails jruby in-memory-database rails-activerecord
jruby ×10
ruby ×4
activerecord ×1
datamapper ×1
gem ×1
heroku ×1
ide ×1
itext ×1
java ×1
javax.script ×1
mongrel ×1
mysql ×1
pdftk ×1
rubygems ×1
sqlite ×1