10

weblogic (11g) 用のアプリの新しいバージョンをデプロイする方法は、既存の ear ファイルの上にコピーしてから、weblogic サーバーを停止して再起動することです。既知の permgen の問題 (最終的には perm gen が不足し、weblogic サーバーをバウンスする必要がある) のため、再デプロイではなく weblogic の開始/停止を行います。

ただし、このデプロイ方法には欠点があります。新しい JSP バージョンは weblogic から認識されません。これを修正するために、サーバーを再起動する前に、コンパイルされた JSP のキャッシュを維持する tmp ディレクトリの内容を消去する必要がありました。weblogic に、起動時に JSP のキャッシュ/リロード/再コンパイルを消去するように指示する設定はありますか?

4

2 に答える 2

6

JSP リフレッシュ タイマーの変更

標準的な解決策は、Weblogic に JSP の鮮度をより頻繁に確認するよう指示することweb.xmlですweblogic.xml

プロダクション モードでは、Weblogic は新しい JSP バージョンをチェックしません (デフォルト値: -1 )。一方、開発モードでは毎秒チェックします (デフォルト値: 1 )。

対象となるアプリケーション サーバーを変更するweb.xmlweblogic.xml、WebLogic のみにするかどうかはユーザー次第です。

を変更する場合web.xmlは、コンテキスト パラメータの値weblogic.jsp.pageCheckSecondsを次のように設定します。

<context-param>
  <param-name>weblogic.jsp.pageCheckSeconds</param-name>
  <param-value>0</param-value>
</context-param>

を変更する場合は、セクションweblogic.xmlでパラメータの値を設定します。ドキュメントからの関連する抜粋は次のとおりです。page-check-secondsjsp-descriptor

JSP ファイルが変更され、再コンパイルが必要かどうかを WebLogic Server がチェックする間隔を秒単位で設定します。依存関係もチェックされ、変更された場合は再帰的に再読み込みされます。値 -1 は、ページをチェックしないことを意味します。これは、実稼働環境でのデフォルト値です。値 0 は、常にページをチェックすることを意味します。値 1 は、ページを毎秒チェックすることを意味します。これは、開発環境でのデフォルト値です。JSP への変更がめったにない運用環境では、チューニング要件に従って、pageCheckSeconds の値を 60 以上に変更することを検討してください。

ソース: http://docs.oracle.com/cd/E21764_01/web.1111/e13712/weblogic_xml.htm#i1038490

再デプロイの強制

Weblogic サーバーを再起動しても、Web アプリケーションの再デプロイは強制されません (特にプロダクション モードでは)。

次のようなコマンド ラインを使用して、「再展開」ライフサイクル操作を明示的にトリガーします

java -cp weblogic.jar weblogic.Deployer -redeploy [-remote -adminurl t3://hostname:hostport] -username login -password password -name webapp.name [-upload -source webapp.war]
  • -redeploy特に、よりもはるかに安全であることに注意してください-update。Weblogic <= 10.x を使用

  • サーバーがローカルでない場合にのみ、[ ] の間に最初のブロックを保持します。その場合は[ ]を外してください。

  • WAR ファイルのアップロードを同じステップで結合したい場合は、2 番目のブロックを [ ] の間に置いてください。その場合は[ ]を外してください。

于 2013-05-28T13:02:01.603 に答える
1

これを回避するには、まずモジュールを更新してからサーバーを再起動する必要があります。これで問題が解決するはずです。

によって言及されたプロセスは常に100%の正確さを提供しますが。ただし、上記の手順を試すことができます。

于 2012-10-08T10:52:59.817 に答える