問題タブ [hotdeploy]
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.
tomcat - Tomcat でグレース ホット デプロイメントを行う方法 (ノンストップ)
当社のプロダクションは LB+TOMCAT で実行されています。独自のカスタム SAFE-DEPLOY ツールを使用して変更をプロダクションにデプロイします。当社のシステムは 24 時間年中無休の可用性を提供することを約束しているため、ツールは次のように変更をデプロイします。
特定のサービスに使用される合計サーバーは、グループに分けられます。2 つのグループに分割され、一方のグループを停止し、変更をデプロイしてグループを開始するとします。最初のグループが完了したら、他のグループに変更を展開します。ほとんどの場合、問題なくうまく機能します。
この問題は特殊なケースによって引き起こされます。1 つのサービスは、クライアントが資格情報として受け取るトークンを生成します。トークンの形式を変更しました。同じデプロイ アプローチを使用する場合、いくつかの潜在的な問題があるはずです。つまり、グループ 1 を停止して新しいコードをデプロイしてから再起動します (問題ありません)、グループ 2 を停止します。 (新しいコードのデプロイの準備)、グループ 2 のデプロイ時にエラーが発生する可能性があります。これは、その間にグループ 1 がグループ 2 によって生成された古い形式のトークンを受け取る可能性があるためです (1.グループ 1 のデプロイ時に、グループ 2 は古いコードを実行し、2.グループ 2 は停止できません)。リクエストを処理する)、クライアントはトークンが間違っていることを示すエラーを受け取りますが、それは本当の間違ったトークンではありません。
解決策は、コードで新しい形式のトークンと古い形式のトークンの両方を処理できるようにすることですが、新しい形式のトークンのみを生成し、1 日実行した後、新しい形式のトークンのみを処理する展開を行うことができます。うまくいくと思いますが、恵みではありません。
私の質問は、コードを変更せずに、サーバーが生成された古い形式のトークンと新しい形式のトークンの両方を処理できるようにするグレース デプロイ アプローチがあるかどうかです。
ところで:Tomcatでのホットデプロイのベストプラクティスであるリファレンスを見つけました.Tomcat 7でのみ機能します.Tomcatは6.0.26です.
java - OSGi と jboss のホット デプロイ
私が理解していることから、OSGiでは、サーバーを再起動せずに実行時にjarを更新できます。ただし、jboss には、完全な耳が更新され、サーバーがまだ実行されているホットデプロイメントもあります。
では、jboss のエンタープライズ Java プロジェクトにおける OSGi の利点は何でしょうか?
jakarta-ee - Java EE アプリケーションをすぐに再デプロイする
私は Java EE にまったく慣れていないので、展開プロセスの遅さに苦労しています。何か間違ったことをしているのではないかと思います。コードの変更がすぐに発生するDjangoの経験があり、Java EEアプリケーションのホットデプロイは少し混乱しているようです-ホットデプロイを主張するものが複数あります(Glassfish、Eclipse manic hotdeploy、Jetty hotdeploy、JRebelなど)。
私のプロジェクトは Maven プロジェクトであり、Netbeans を使用してデプロイしています。このサイトでは、Spring、JSF、および Hibernate フレームワークを使用しています。
Netbeans では、次のスクリーンショットによると、保存時にデプロイが有効になっているようですが、pom.xml から情報を取得すると主張しているため、クリック/クリック解除はできません (ただし、pom.xml にはそのようなフィールドはありません (のみ)依存関係)))。
現在、一部のファイルへの変更はすぐに有効になるようです。- JSF ファイル - 静的ファイル
以下の変更にはデプロイが必要です: - XML ファイル - プロパティ ファイル (ローカライズ プロパティ ファイルも含む) - Java ファイル
それらへの変更は手動でデプロイする必要があり、再デプロイには 30 分かかりますが、現在は基本的に単一のユーザー クラスと承認クラスの 2 ~ 3 クラスしかありません。このプロジェクトでは、現時点ではログインのみが許可されていますが、それにもかかわらず、コンパイルには数秒かかります。コンテナー (Glassfish) は約 600 MB の RAM を消費しているようで、数回のデプロイ後に PermGen エラーが発生し、タスク マネージャーを使用して Java プロセスを強制終了する必要があります。(これは、再デプロイするたびにガベージ コレクターがリークすることに関連していると読みました。jhat を使用してプロファイルを生成したこともありますが、数千のクラス、私のクラス、Spring、Hibernate クラスなどのリストが表示されました。)
jrebel についても聞いて実行してみましたが、私の Netbeans バージョン (7.0) と互換性がないようです。
これらの問題を解決するために私にできることはありますか、それとも Java EE では、Java ファイルを変更するたびに約 1 分間待つのが普通ですか? この問題により、生産性が大幅に低下します。
アプリケーションをデプロイするときの Glassfish の出力は次のとおりです: http://pastebin.com/7FhZ6AVh
java - とにかくColdfusion9でJarをホットデプロイしますか?
サービスを再起動せずに、Coldfusion9で使用する新しいjarファイルをデプロイする方法があるかどうか疑問に思いました。
ありがとう
ブルーノ
eclipse - scala + Java EE 6をホットデプロイする方法は?
私は、scalaでビルドしてJBossAS7で実行したいJavaEE6アプリケーションの開発環境を構築しています。
すべてをMavenで実行することはできましたが、Javaで実行できるように、変更をホットデプロイできるIDEはできませんでした。
Eclipseが私の最初の選択でしたが、scalaプラグインをWTPで動作させることができませんでした。
誰かがScala+Java EE 6用のIDE/ビルドツールを提案できますか?
java - JAXB 生成クラスを使用して Eclipse でエラーをビルドする
JBoss でのデバッグ時に Eclipse が JAXB で生成されたクラスを見つけられないという奇妙な問題が発生しています。
ここに障害につながるステップがあります。
- JBoss 4.2.3 をデバッグモードで起動します
- Java プロジェクトをサーバーにデプロイします
- ソース コードに小さな変更を加えます (空白を追加するなど)。
- Eclipse はプロジェクトを新規にビルドします。
- Eclipse は、外部ライブラリーの JAXB 生成クラスを見つけることができません
- Eclipse でのビルド エラー
- ホットコード交換が失敗する
JBoss をデバッグ モードで起動しないと、すべて正常に動作します。
問題は、Eclipse と JAXB によって生成されたクラスの相互作用にあると思われます。私は Eclipse Indigo と m2eclipse プラグインを使用しています。
java - JBoss 6: hotdeploy を停止する
JBoss 6 からのホットデプロイメントをプログラムで停止することはできますか? どうやってやるの?
java - jvm はホットスワップ機能が異なりますか?
開発中に (サーバー) を再起動すると、かなりの時間がかかる可能性があります。zeroturnaround の人々はこれに気づき、非常に印象的な機能のリストを持つ jrebel を作成しました。
http://zeroturnaround.com/jrebel/features/
Sun jvm のホットスワップには長い歴史があります。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4910812
したがって、現在 jvm hotswap でサポートされているのは、「メソッド本体の変更」だけのようです。
これはすべての jvm に共通する唯一のホットスワップ機能ですか、それとも jvm はホットスワップ機能が異なりますか?
apache - Webサービス用の変更された軸アーカイブのホットデプロイメント
Apache axis2(1.6.1)は、axiswarのweb-inf/ servicesフォルダーにコピーされると、Webサービスアーカイブのホットデプロイメントをサポートします。ただし、これは新しいサービスのみに限定されます。「変更された」サービスをホットデプロイしません..サービスアーカイブの「変更」を処理するためのソリューションはありますか?
-abhay