問題タブ [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 を使用してレール メタル エンドポイントを開発しようとしていますが、コードを変更するたびにサーバーを再起動する必要があるため、面倒です。私は Jruby にいて、より大きな Java アプリ内から実行しています。リクエストごとにこのコードを更新する簡単な方法はありますか?
memcached - javaクラスでのjruby rails memcached非整列化エラー
JMS を介していくつかの Java サービスと通信している Rails アプリがあります。次のように、これらのオブジェクトのいくつかをレール側の memcached にキャッシュしています。
MEMCACHE の場所
現在、memcache がこれらを適切に保存し、適切に更新していることを確認するためのテストを作成しようとしています。残念ながら、キャッシュ内のオブジェクトにアクセスしようとすると、
奇妙なのは、スクリプト/コンソールでのキャッシュの参照が正常に機能することです。ただし、アプリと単体テストを実行すると、このエラーが発生します。同じ環境にある場合、コンソールとアプリに違いはないと思いました。
以下に完全なスタック トレースを含めました。ActiveSupports Memcache クライアントの奥深くから来ているようです。キャッシュにアクセスする直前にこの特定のクラスをインスタンス化することも含め、すべての組み合わせを試しましたが、どれも機能しません。
これらのJavaオブジェクトをテストで直接問題なく取得、インスタンス化、および作成できるため、Railsは明らかにクラスを認識しています。このエラーが発生するのは、MEMCACHEからアクセスする場合のみです。
jruby 1.4.0 のセットアップ
(ruby 1.8.7 パッチレベル 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クラスのパフォーマンスを含めるvsパッケージを含める
私は、libにrubyモジュールを備えたjruby railsアプリを持っています。これは、Javaオブジェクトの名前の間隔を空けているため、競合は発生しません。
そのモジュールに特定のクラスを含めることと、パッケージを含めることの違いは何だろうと思います。以下にサンプルコードを含めました。
コンソールでは、たとえば1 MyMod ::と言ってタブを押すと、(たとえば)101個のメソッドとクラスオプションがあり、MyMod::MyClassがその1つです。
たとえば、2、MyMod :: and tabを押すと、100個のメソッド/クラスオプションしかなく、MyClassは含まれていません。次に、MyMod :: MyClassに移動して参照し、そのMyMod ::タブを再度実行すると、101個のオプションがあり、MyClassが一覧表示されます。
これが私の質問です。例1のモジュールでこれらのクラスをすぐに参照することと、例2のようにオンデマンドでロードすることの違いは何ですか。使用するクラスが約20個あるパッケージがある場合、それらをオンデマンドまたは事前にロードすることをお勧めします。これをオンデマンドでロードするためのオーバーヘッドはありますか(例2 )。
サンプルコード:
例1
vs 例2
ruby-on-rails - Railsのタイムゾーン
Rails のデフォルトの動作は、データベース レコードと日付/日時関連の列を UTC 時間で保存することであることを理解しています。また、environment.rb の config.time_zone を使用して、ユーザーへの日付/日時の表示を制御できます。したがって、基本的に config.time_zone の設定は表示を制御するためのものであり、これによって Rails はレコードを UTC から config.time_zone で指定したものに変換します。
Rails が UTC ではなく EST でレコードを保存するように強制する方法または設定はありますか?
-サティノス
maven-2 - maven を使用して jruby rails アプリで Java の依存関係を管理する
コマンドをローカルで実行し、jruby Rails アプリが持つすべての依存関係を取得できるようにする pom.xml を作成しようとしています。ただし、2つの異なる構成が表示されていますが、どちらを使用すればよいか完全にはわかりません(私はJavaの人間ではないため)
まず、私が見ている多くの Pom には、すべての依存関係をリストする pom.xml のルートの下にタグがあります。ただし、これにはこれらが保存されている場所などに関する情報はありません...したがって、これは私が望んでいるものではないように感じます(それらを私のレールlibディレクトリにコピーする必要があります)
2 番目のオプションは、mvn ドキュメントで見ているのは、maven-dependency-plugin を使用することです。これは、私が探しているもののように思えます。私のoutputDirectoryは次のようになると思いますlib
したがって、最初のオプションの依存関係リストの目的が何なのか、完全には理解できません。私が望むのは、mvn が私の jar をローカルにコピーすることだけです (そして、最終的に私の CI サーバーがデプロイするとき)。誰かが私を正しい方向に向けることができますか?
最初のオプション
2 番目のオプション
classpath - tomcat 5.5 web.xml で WEB-INF/lib ディレクトリを変更
Rails lib/Java にいくつかの jar 依存関係を持つ jruby rails アプリがあります。Java ライブラリと Ruby ライブラリを分離するため、単に lib に直接配置するよりも、これを好みます。jruby を使用してローカルで動作します。問題は、デプロイ時に、Tomcat が WEB-INF/lib/java ではなく、WEB-INF/lib でこれらの jar (jruby など) の束を探していることです。
tomcatにlib/javaも調べるように指示するweb.xmlにいくつかの構成を入れる必要があると思いますが、問題に関するドキュメントが見つかりません。
Tomcat のシステム全体のクラスパスを変更したくありません。この特定のアプリについてのみ、WEB-INF/lib 以外のディレクトリをチェックするようにクラス ローダーに指示したいだけです。
誰でもこれを行う方法について教えてもらえますか?
ruby-on-rails - jruby/activerecord-jdbc/tomcat/DB2 エンタープライズ向けの準備はできていますか?
私は自分の会社に RoR を導入しようとしていますが、次の 2 つの方法を考えています。
(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に移行していますか?
オラクルのTedFarrellからhttp://kenai.com/に投稿があり、興味深い声明があります。
現在、java.netをkenaiテクノロジーに移行中です。
これは、java.netがJruby on railsによって駆動されることを意味しますか?
jms - Tomcat での Jruby Rails アプリの CPU 使用率のスパイク
これは、serverfault にも属している可能性があります。サーバー構成とコードの組み合わせのようなものです(私は思う)
これが私のセットアップです:
を実行top
していると、サイトのリンクをクリックするたびに、java
プロセスの CPU 使用率が急上昇します。小さなページの場合、使用率が 10% に過ぎないこともありますが、より複雑なページでは、CPU が 44% まで使用されることがあります (それ以上になることはなく、理由は不明です)。この場合、私のサーバーload average
が 8 以上まで着実に上昇している間、リクエストには数分以上かかることがあります。これは、一部のサービスからのいくつかのリクエストをロードする 1 つのリンクをクリックするだけで、複雑なことは何もありません。ほとんどの場合、Java プロセスのメモリは 20% 前後で推移しています。
少し放置すると、負荷平均はゼロに戻ります。さらにいくつかのリンクをクリックすると、元に戻ります。
Rails フロントエンド用の小さな amazon インスタンスと、すべてのサービス用の大きなインスタンスを実行しています。
さて、これは明らかに受け入れられません。1 人のユーザーが負荷平均を 8 にまで上げることができ、2 人で使用すると、サイトを使用している間、その負荷平均が維持されます。何が起こっているのかを調べるために何ができるのだろうか?これをどのようにデバッグできるかについて、私は完全に途方に暮れています。(Tomcatコンテナ内ではなく、jrubyを介してレールアプリを実行すると、ローカルでは発生しません)
jruby アプリを検査して、そのような巨大なリソースをどのように使用している可能性があるかを調べる方法について誰かが教えてくれますか?
注意してください、私はこれを少し前に気付きましたが、一見ランダムに見えましたが、Rails 2.2.2 から 2.3.5 にアップグレードした後、私は常にそれを目にし、サイトを完全に使用できなくしています。
どこを見るべきかについてのヒントは大歓迎です。どこから始めればよいかさえわかりません。
jrubyonrails - Rails Warbler のデプロイ
レール戦争のリソース使用量を判断するためにいくつかのテストを行っています。Rails 2.3.5 と JRuby 1.4.0 を使用して、Warbler を使用して「15-minute Blog」アプリケーションをパッケージ化しました。私は Tomcat 6.0.24 にデプロイしており、blog.war ファイルを blogN.war としてコピーして複数のデプロイメントを作成しています。
これは最初の 4 回の展開ではうまく機能しましたが、戦争の 4 回以上展開することはできないようです。つまり、catalina.out ログが「Deploying web application archive blog5.war」でハングします。
問題が何であるか、またはこれをトラブルシューティングする方法についてのアイデアはありますか?