2

この Web アプリケーションには複数の jar ファイルがあり、各 jar ファイルにはユーティリティのリストが含まれていますJava EE今後、この Web アプリケーションに新しいjar ファイルをWAS 7.0.追加する可能性があります。新しい jar を追加するときに、この Web アプリケーションのダウンタイムは望ましくありません。

Web アプリケーションを再起動せずに新しい jar ファイルを Web アプリケーションに追加することはできますか? 変更はすぐに反映されますか?

ロードされたクラスによってすでにロードされている既存の jar ファイルを更新するにはどうすればよいですか? 再起動せずにそれを行うことは可能ですか?

Hot deploymentWASと呼ばれるものについて読みました。彼らは、Hot DeploymentSolaris および HP-UX OS では動作しないと述べています。

この問題にアプローチする最善の方法を教えてください。

4

1 に答える 1

2

Web アプリケーションを再起動せずに新しい jar ファイルを Web アプリケーションに追加することはできますか? 変更はすぐに反映されますか?

いいえ、アプリケーションを再起動せずに新しい JAR をクラスローダーに追加することはできません。空の JAR を作成し、後でそれを置き換えたとしても、停止なしで変更を有効にする方法はありません。少なくともモジュールは再起動されます。

ロードされたクラスによって既にロードされている既存の jar ファイルを更新するにはどうすればよいですか? 再起動せずにそれを行うことは可能ですか?

あなたはできません、それは不可能です。

WAS でのホット デプロイメントと呼ばれるものについて読みました。彼らは、Hot Deployment は Solaris および HP-UX OS では機能しないと述べています。

ホット デプロイメントでは、ダウン タイム 0 でクラス置換 (JAR 全体ではない) が可能です。

その他のオプション:

  • ルーティング テクノロジ (HTTP プロキシ、WVE) を使用し、アプリケーションをリップル再起動します (つまり、一度に 1 つのクラスタ メンバーでアプリケーションを再起動し、その間に中間トラフィックを他のサーバーにルーティングします)。
  • JRebel のようなものを使用します。私の理解では、主に開発環境を対象としていますが、本番環境もサポートする可能性があります。
于 2012-08-01T12:49:06.083 に答える