- PR -

Servletのロードについて。

投稿者投稿内容
ゆん
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-17 21:04
Windows2000 Apache&Tomcat(Oracle9ias,JRun)の環境だとServletをコンパイルしたとき
WebServerを再起動しないと反映されません。
Server.xmlとかWeb.xmlは同じでもNTやSolarisでは問題なく反映されます。Cacheの問題だと思うのですが、
これは仕方ないことでしょうか?開発フェーズでかなりきついのです
(Windows関連のページでも同じ質問を出しています。)
おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2003-09-17 23:36
そんなことないですよ。

たぶん、利用されているWebコンテナで、クラスファイルの再ロード機能がオフの状態で設定されているのでしょう。

Servlet仕様では、Webアプリケーション稼動中にクラスファイルを差し替えることを可能とするように定義されています。
ただし、差し替えられたクラスファイルを再ロードするタイミングなどの細かい仕組みは、各製品の仕様に依存されます。
(大抵はタイマー制御されている場合が多いみたいですけどね...)
ゆん
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-18 15:01
ありがとうございます。

どこの設定を見ればよいでしょうか?
以前JRUNでやっていたとき、サポート窓口に要求されたファイルを送ったのですが
とくに問題はなく、結局解決しなかったのです。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2003-09-18 16:15
JRun3.0 での話ですが、問題なくサーブレットをリロードできた記憶があります。

リロード出来ないとなると、サーブレットを起動時のクラスパスに通しているか、サーブレットクラスの更新をしない設定になっているように見受けられます。
起動スクリプトや設定ファイルを確認してみてはいかがでしょうか。

ところで、「サポート窓口に要求されたファイルを送ったのですがとくに問題はなく、結局解決しなかった」とはどういうことでしょう?
サポートが解決してくれなかったのでしょうか?商用製品でその対応ではとんでもないことに聞こえます・・・。
ゆん
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-18 21:19
インギさん

ありがとうございます。当時私も初心者で(今もですが)サポート契約結んでいたので
問い合わせたのです。だいぶやり取りして、先方のテストプログラムでテストしたり
したのですが、うやむやのうちにこれ以上調査不可となったのです。

2000でも大丈夫なのでしょうか?でもこれは私だけではなく、他に2000でTomcatで
やっているかたもServletをコンパイルして反映するには一回一回再起動している
のです。これだとテストするときログインからやりなおさないといけないので
やっかいなのです。
内部的にはNTで試してみるか・・・となっています。
未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2003-09-19 00:24
引用:

ゆんさんの書き込み (2003-09-18 21:19) より:
2000でも大丈夫なのでしょうか?でもこれは私だけではなく、他に2000でTomcatで
やっているかたもServletをコンパイルして反映するには一回一回再起動している
のです。これだとテストするときログインからやりなおさないといけないので
やっかいなのです。


えっと、まさかとは思いますが・・再起動というのはOSも再起動しているわけでは
ないですよね?
こちらのWin2000で同じ現象が発生したとき、設定>管理ツール>サービスでTomcatの
停止・起動をしてます。所要時間10秒程度で反映します・・・。

# 操作するサービス名は Apache Tomcat 4.1 です。

[ メッセージ編集済み 編集者: Ken-Lab 編集日時 2003-09-19 08:53 ]
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-09-19 01:12
server.xmlのContextタグの属性に
reloadableというものがあります。
そこを true にすればオートリロードできると思います。

tomcatならば、Managerアプリを使って手動で再ロードできますけども、
9iAsやJRunはわかりませぬ。
ごさんこうまで。
ゆん
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-09-20 17:19
ありがとうございます。Server.xmlの指定でできました。(Tomcat)
これからOracle9iasで試してみます。
でも同様のServler.xmlで2000&Tomcatでできなかったのですが・・・
何か勘違いがあったのでしょう。

スキルアップ/キャリアアップ(JOB@IT)