問題タブ [jrebel]
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.
.net - .NET 用の JRebel のようなものはありますか?
JRebel は、新しいバージョンのクラスを実行中の JVM に自動的にスワップできる Java 用のツールです。メソッドの実装を変更できるだけでなく、シグネチャを変更したり、新しいメソッドを追加または既存のメソッドを削除したり、フィールドを追加/削除したりすることもできます。唯一できないことは、クラス階層をオンザフライで変更できるようにすることです。これは、特に Web アプリ開発にとって大きなメリットです。
.NET に似たものを見つけることができますか?
jrebel - JRebel はどのように機能しますか?
JRebel は Javassist またはある種のバイトコード操作を使用しますか? 私は純粋な興味からこれを求めています、私は実際に知る必要はありません:)
hibernate - Hibernate / seam : hibernate.show_sql 設定
時々私hibernate.show_sql
はtrueに設定します
しかし、アプリケーション サーバーを再起動する必要があります。私は Weblogic 10 と JRebel を使用しています。
hibernate.show_sql
必要な場所のコードで true に設定することは可能ですか?
jrebel - Jrebel Eclipse tomcat 再公開の問題
jrebel を使用する場合、HTML javascript や jsp などの静的リソースを自動的に再公開するにはどうすればよいですか?
java - 問題 - リモート ホット デプロイ、マルチモジュール Maven プロジェクト
ここにはたくさんの情報があることは知っています... しかし、このような問題を抱えている人は他にもいるかもしれません。
よし、私たちの環境の概要を説明することから始めましょう。
約 11 個の JAR を持つマルチモジュール Maven プロジェクトがあります。これらの内部 JAR に依存するのは 9 つの WAR ファイルで、そのうち 8 つが EAR ファイルに配置されます。残りの WAR ファイルは、個別のアプリケーションとして単独でデプロイされます。(EAR に存在する) 8 つの WAR ファイルがビルドされると、それらはスキニー WAR ファイルとしてビルドされるため、結果の EAR ファイルは最小サイズになり、APP-INF/lib セクションにすべての依存関係が含まれます。これはすべて問題なく動作します。現在、大量のメモリと CPU を備えたリモートの WebLogic 10.3 サーバーにデプロイしているため、個々のマシンには負荷がかかっていません。また、継続的インテグレーション ビルド サーバーを使用して毎晩のスナップショットを公開しています。
デプロイしているアーティファクト:
8 つの WAR ファイル、11 の内部 JAR、およびサードパーティ ライブラリを含む EAR ファイル: ~70MB
その他の WAR ファイル: ~110MB
一部のソフトウェア エンジニアは、VPN 接続を介して自宅で作業し、増分/ホット デプロイ オプションを利用したいと考えています。それ以外の場合は、Web ロジック/Maven を使用してデプロイする方法が原因で、EAR ファイル全体または 110 MB の WAR ファイルを作成して VPN 経由でアップロードする必要があります。これは面白くないし、速くもない。私はJRebelを読んでいて、他の誰かがリモート展開を行うマルチモジュール Maven プロジェクトで JRebel を使用しているかどうか、またそれを効率的に行う方法を知りたいと思っていました。
私の読書のいくつかから、サーバーに「変更をアップロード」し、rebel.xml構成でその特定の展開のディレクトリを読み取ることをお勧めします...まあ、目前の問題につながります。サーバーと適切なフォルダーにアップロードできるように、変更されたリソース/新しくコンパイルされたクラスファイルを他のディレクトリにダンプするように Maven に指示するにはどうすればよいですか (私たちのサーバーは、さまざまなポートで実行されている 10 以上の WebLogic インスタンスのようなものをホストしています。デベロッパー)。または、開発者に自分のワークスペース フォルダーをネットワークと共有させ、適切な //COMPUTERNAME/workspace/jarProjectName/target/classes フォルダーを指す rebel.xml ファイル (たとえば、JAR 内) を構成します。私が予見する問題は、WebLogic を起動するたびに、すべての . これは、rebel.xml ファイルが最初に優先されるためです。これは、VPN 経由ではひどいものになるからです。ただし、デプロイが開始された後は、ホット デプロイは通常どおり機能するはずです。最初の起動時にすべてのクラスをネットワーク経由で転送するという不必要なオーバーヘッドが発生するのは望ましくありません。それだけでなく、開発者がオフィスにいて、コンピューターの電源を切ってから家に帰ることもあります。その場合、JRebel/WebLogic はどうなりますか? そして家に帰ります。その場合、JRebel/WebLogic はどうなりますか? そして家に帰ります。その場合、JRebel/WebLogic はどうなりますか?
さまざまな Maven プロジェクトで変更されたファイルのみを確認し、それらをサーバー上の適切な場所に FTP 送信して、JRebel が完全にサーバー側で実行できるようにする方がはるかに優れているように思えます。誰かがこれを行う良い方法を持っていますか? または、誰かが JRebel をまったく含まないソリューションを持っているかもしれません。話しましょう。
scala - jetty-restartなしでスカレートするためにインポートされた変更されたクラスをロードするにはどうすればよいですか?
ビューテンプレートとしてscalateを使用しており、sbt+jrebelを使用しています。しかし、scalateにインポートされたクラスが変更されている場合は、jettyを再起動する必要があります。そうしないと、複雑なエラーが発生する可能性があります。
コードは非常に単純です。
webapp / WEB-INF / web.xml
src / main / scala / test.scala
webapp / index.jade
桟橋の自動リロードを無効にする
次に、桟橋を開始します。
ホームページにアクセス:
正しく表示されます:
次に、次のように変更しtest.scala
ます。
もう一度ページにアクセスしてください。正解です。
次に、メソッド名を変更します。
呼び出しindex.jade
ますb()
:
もう一度アクセスして、エラーを表示します。
このサンプルから、どこが間違っているかはわかりませんが、私の別のプロジェクトでは、理由を確認できます。index.jadeのコンパイルに失敗し、値b()
が見つかりません
だから私は突堤を再起動する必要があります:
もう一度アクセスすると、すべてがうまくいきます。
この問題を修正する方法、または再起動せずにscalateを操作する他の方法はありますか?
アップデート
1週間近く試した後、私はあきらめなければなりません。見つけたすべての解決策を試しましたが、再起動しないとコンパイルできません。
今、私はjrebelなしでsbtを実行し、クラスが変更されたときにjettyにwebappをリロードさせます(スケールビューを監視しません)。今のところ、3〜5秒かかりますが、それほど長くはありません。
最後に、@Jamesの助けに感謝します
jsf-2 - Glassfish 3:javax.faces.PROJECT_STAGEを「本番」に設定できません
私は、web.xmlでjavax.faces.PROJECT_STAGEを「production」に設定しようとしていますが、実行時に、値は常に「development」であることがわかります。デバッグは非常に奇妙なことを示し、状況に到達することはできません。GF3.0.1とGF3.1の両方で試してみました-同じです。
これが私のweb.xmlの一部です:
この
常に開発を返します!
助けていただければ幸いです。GF3.1のJSF2.1は、開発モードでイライラする警告を表示するため、これは私にとって本当のストッパーです。
java - JRebel は本番環境で使用されたことはありますか? JVM で何をリロードできますか?
JRebel は本番環境で使用されたことはありますか? 開発を支援するだけのものですか、それとも JVM での再読み込み (特に次世代言語 (非 Java)) に適していますか? 何を (バイトコードと Java 言語レベルで) リロードできますか?
java - jrebel - すべてのクラスのリロード
最近、jrebel は、jersey リクエストを行ったときとシャットダウンしたときに、プロジェクト内のすべてのクラスをリロードし始めました。すべてのリクエストではないようですが、リクエストの合間にしばらく待つと、ほぼ確実に発生します。
プロジェクト内のすべてのクラスをループしてリロードするだけです-それを通り過ぎていたので、permgenをバンプする必要がありました。
これが突然発生する原因となる変更があった可能性があることを確認するためのアイデアはありますか?
java - JRebel を「mvn tomcat:run」で動作させる
コマンドラインから 'mvn tomcat:run' を実行したときに JRebel を動作させる方法を教えてもらえないだろうかと思っていました。JRebel を IDE (IntelliJ IDEA) で動作させることはできますが、IDE 内で実行するのは少しぎこちなく感じます。テストを実行するとき、すぐ隣で別のプロセスを実行するのは好きではありません。これは習慣と呼んでください。
それ以上に、JRebel を試しているうちにサーバーがロックアップすることがありました... その結果として IDE がハングアップするのは望ましくありません。私はプロセスを手動で終了しており、制御はIDEAに戻されています...しかし、IDEAでまったく実行しない方がよいでしょう。
これをグーグルで調べてみましたが、JRebel を tomcat プラグインに組み込む方法が見つかりませんでした。
ありがとう