問題タブ [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 に答える
494 参照

ruby-on-rails - HSQLDB を Rails アプリに埋め込む際の無効な SQL

Rails アプリを JRuby と HSQLDB に移植する作業を行っています。私の目標は、データベースとサイトを単一の JAR ファイルに組み込み、顧客のサイトにデプロイすることです。私はサイトを JAR から非常にうまく機能させていますが、いくつかの注目すべき問題があります。

かなりありふれた ActiveRecord モデルで次のことを行うと、次のようになります。

次の例外が発生します。

ActiveRecord::StatementInvalid (ActiveRecord::ActiveRecordError: 集計関数または句によってグループ化されていません: ステートメントの org.hsqldb.Expression@7be117eb [SELECT count(session_logs.id) AS count_id FROM session_logs WHERE (created_at >= '2010-02- 06' AND created_at <= '2010-03-09' AND session_type = 'tunnel_client') ORDER BY ID DESC ]:

SELECT count(session_logs.id) AS count_id FROM session_logs WHERE (created_at >= '2010-02-06' AND created_at <= '2010-03-09' AND session_type = 'tunnel_client') ORDER BY id DESC )

COUNT ステートメントが HSQLDB で問題を引き起こしていることは明らかですが、これを修正するための解決策がわかりません。SQLite3 と MySQL はどちらも、この SQL ステートメントを問題なく処理します。

私は HSQLDB 以外の別のデータベースを使用することにオープンですが、JVM 上のアプリケーションに埋め込むことができる必要があります。それがHSQLDBの魅力です。

0 投票する
1 に答える
781 参照

java - jruby が有効な java_opts について不平を言うのはなぜですか

以下を使用して正確なヒープサイズを設定するために、Java の最小/最大ヒープサイズをSun Docsで概説されているものと同じになるように設定しました。

これは、Tomcat を起動すると問題なく動作しますjrubyが、コマンド ラインから実行すると、次のように不平を言います。

VM の初期化中にエラーが発生しました
互換性のない最小および最大ヒープ サイズが指定されました

いくつかの -JX パラメータに関するjruby ドキュメントを読みましたが、通常の jvm 設定を明示的にオーバーライドする必要があるのはばかげているようです。

問題は、デプロイを行うときに発生します。私は自分のサーバーで実行しようとしjruby -S rake db:migrateましたが、文句を言います。

jruby を実行するときに JVM 設定を明示的にオーバーライドする必要があるというのは本当ですか? 任意の Xms/Xmx 値が jruby に文句を言うようです。

更新 したがって、一部の設定は実際に機能するようです。たとえば、これらはすべて機能します。

しかし、これらはしません:

0 投票する
1 に答える
437 参照

ruby-on-rails - jruby rails アプリでの ESB の遅延読み込み

以下を使用した jruby/rails アプリがあります。

現在、environment.rb ファイルでは、イニシャライザで Mule を起動しています。db:migrate などの JMS/Mule を必要としない通常の rake タスクを実行する場合、毎回 Mule を起動/シャットダウンするのに長い時間がかかるため、これは大きな苦痛になります。

コードは次のようになります。

そしてAPP_CONTEXT、適切なサービスに接続するために Bean をフェッチするために使用します。

初期化時にMuleを起動しなければならないというすべての苦痛を回避するために、APP_CONTEXTを(初期化ではなく)遅延してインスタンス化できるメカニズムを見つけようとしています。

現在、application_controller で before_filter としてインスタンス化される ruby​​ クライアント クラスがいくつかあります。これ@data_service = DataService.new(APP_CONTEXT)は、コントローラーで使用するための各要求に対して適切な Java クライアントを初期化するなどです。

私はすべての提案を受け入れます。この怠惰なインスタンス化を配置する適切な場所を見つけるのに苦労しています。

0 投票する
1 に答える
779 参照

java - AppEngine JRuby - OutOfMemoryError: Java heap space - 解決できますか?

私は AppEngine JRuby on Rails (SDK バージョン 1.3.3.1) を使用しています - 私がよく遭遇する問題は、いくつかのリクエストの後、サーバーが停止し、端末 (OSX) で OutOfMemoryError をスローするまで、サーバーが非常に遅くなることです。

リクエスト自体は非常に軽量で、DataMapper を使用してエンティティを探したり保存したりするだけです。

アプリスポットでは、この問題は発生していません。

JRuby のヒープ領域を拡大する方法はありますか?

例外ログ:

0 投票する
2 に答える
790 参照

ruby-on-rails - jrubyのCucumber-railsは、bundlerを使用してgemをアプリのルートディレクトリにインストールします

インストールされたばかりで、OSXにjruby-1.4.0がインストールされcucumber 0.7.2ています。cucumber-rails 0.3.1バンドルインストールを実行すると、すべてのgemコード/依存関係を含むcucumber-railsディレクトリがメインアプリに配置されます。

まず第一に、これは間違いなく私が望んでいることではなく、なぜこれがキュウリレールだけで起こるのかわかりません。

次に、このフォルダーを削除して、キュウリレールを手動でインストールすると、実行すると次のscript/generate feature blahようになります。

同様に実行するrake cucumberと、

したがって、明らかに何かが機能しません。そのcucumber-railsディレクトリを再び追加すると、rake cucumber実際に実行されます。

Railsアプリにgemをインストールする必要がある理由を誰かに教えてもらえますか?私はこれを前に見たことがありません。

セットアップ
jruby-1.4.0
キュウリ-0.7.2
キュウリレール0.3.1
バンドラー
0.9.23webrat0.7.1

編集

これに加えて、私はこれを機能させることにうんざりしていると判断したので、Gemfileからすべてのキュウリ/キュウリレールのデップを削除して再実行しましbundle installた。それでもcucumber-railsディレクトリが作成され、さらに、そのディレクトリが存在しない限り(rakeなど)何も実行できません。存在しない場合はsource index not created from diskメッセージが表示されます。

EDIT2 私は自分Rails.root/.bundle/configが持っていることに気づきましたBUNDLE_PATH: cucumber-rails。なぜこれがそこにあるのか誰かが知っていますか?

0 投票する
1 に答える
1250 参照

ruby-on-rails - Bundler と JRuby を使用した Rails のデプロイ戦略

私は jruby rails アプリを持っていて、gem の依存関係管理にバンドラーを使い始めたところです。展開戦略について人々の意見を聞くことに興味があります。ドキュメントによるとbundle package、宝石をローカルにパッケージ化するので、サーバーでそれらをフェッチする必要はありません (そして、ウグイスはデフォルトでこれを行うと信じています)。コード (この場合は WAR ファイル) ははるかに大きくなります。

私の好みは、コードがサーバーにコピーされた後、すべての依存関係をサーバーに直接フェッチする MVN セットアップを模倣することです。これが私が考えていることです、すべてのコメントは大歓迎です:

Step1: war ファイルをビルドし、サーバーにコピーする
Step2: サーバーで war をアンパックし、mvn で Java の依存関係をフェッチする Step3: Bundler を使用して Gem deps をフェッチする (これらはどこに配置する必要がありますか??)
* Step 3 はステップです。の上。bundle install特定のターゲットを念頭に置いて実行しますか??
ステップ 4: Tomcat を再起動します

繰り返しますが、ここでの私の推論は、展開時に依存関係をコードから分離したいということです。また、アプリ ユーザーのホーム ディレクトリにインストールするのではなく、すべての gem 依存関係をアプリ自体に配置して、含まれるようにしたいと考えています (繰り返しますが、これが Bundler のデフォルトであると考えています)。

0 投票する
1 に答える
655 参照

ruby-on-rails - activerecord-jdbcを使用してRails2.3で主キーにbigintデータ型を使用する方法

Rails1.2から2.3に移植しているRailsアプリがあります。また、RubyMRIから最新バージョンのJRubyにも移行しています。

既存の(Rails 1.2)アプリでは、mysql_bigintプラグインを使用して、主キーとして64ビットintをサポートしています。

MS SQL 2005データベースサーバーに対して実行されている新しいアプリケーションについても、同じことを行う必要があります。

ここのスニペットが役立つかどうかはわかりません:レールと多形関係の主キーとしてUUIDを使用する

どこから始めればいいですか?

TIA

デイブ

0 投票する
3 に答える
877 参照

ruby-on-rails - JRuby on Rails の開発モードでビュー ファイルの自動リロードを有効にするにはどうすればよいですか?

JRuby on Rails でアプリを開発しています。何らかの理由で、ビュー ファイルを編集すると、開発中の JRuby Mongrel サーバーがファイルをリロードしません。ややこしいのは、コントローラ ファイルを編集した後、サーバーが次のリクエストでそれらをリロードすることです。

これは MRI Ruby を使用している場合でも面倒ですが、ビューを編集するたびに JRuby Mongrel を起動するのは非常に遅く、さらに面倒です。(一度起動すると非常に高速であることに注意してください。唯一の問題は起動です。JRuby Mongrel を起動するたびに、JVM をロードする必要があります。)

JRuby 1.5.0、Rails 2.3.5、および Java 6 を実行しています。

0 投票する
1 に答える
501 参照

ruby-on-rails - JRuby on RailsにはどのWebホスティングサービスを使用していますか?

サーバー側でJava機能が必要なため、JRubyonRailsを使用してWebサイトを開発しています。私はそれを展開することを考えています、私はJSPをサポートするホスティングサービスを使用する必要があります。私は正しいですか、それが私に必要なすべてですか?または、自分のサイトを展開するために必要な他の何かがありますか?どうすればこれを行うことができますか?

0 投票する
1 に答える
324 参照

ruby-on-rails - jruby on rails 2.3を使用して宝石をどのように解凍しますか?

すべてのシステム gem を展開して、すべての rails gem とすべてのシステム gem を含むスタンドアロンの Rails ディレクトリを作成しようとしています。

ベアレールのセットアップから始めています。jruby -S rails と 'generate jdbc' を実行しました。次に、config.gem 'jdbc-mysql' を environment.rb に追加し、jruby -S rake gems:unpack:dependencies を実行します。

開梱後、レーキを実行すると、次のようになります。

jdbc gem をアンパックするために他に何かする必要がありますか?

私は jruby 1.4.0 (そして 1.5 への移行は私の todo リストにあります) と rails 2.3.8 を使用しています。