- - PR -
TOMCATについて
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-26 01:16
初歩的な質問なのですが、コンパイルし直すとTOMCATを再起動しなければ新しいクラスが繁栄されないのですが、それは当然のことなのでしょうか?
JSPの変更は即座に反映されているのですが。。。 コンパイルするごとに再起動すると、エラーの修正をしてる時などはかなり時間がかかってしまします。 皆さんはどのようにしてるのでしょうか? また、コンパイルはできるがエラーが出る場合、どのような対処をしているのですか? 私の場合はエラーの内容をヤフーで検索し、よく似た症例を参考にいているという、かなり能率のわるいやり方をしています。。 | ||||||||
|
投稿日時: 2004-06-26 12:47
こんにちわ。
一応当然なんじゃないでしょうか?新しくコンパイルしたコードをコンテナが察知するには、現在ロードされている内容とクラスファイルの内容とを随時比較しなければならないと思いますので、パフォーマンス面で多少不利になります。 本番環境で稼動させる場合は、server.xml内のcontextタグ->reloadable属性の値は有効にしないのがセオリーだと思います。もちろん、開発の時は別ですけどね。
ん〜。ログとかに出ているスタックトレースなどから原因を突き止めて解決してますが…自分が作ったプログラム内でエラーが起きているのか、コンテナの設定やバグでエラーが起きているのかによってだいぶ変わってくると思います。 コンテナの設定やバグ等が考えられる場合は、私もhiroさんと同じように検索エンジンを使ったりMLに頼ったりすることが多いですね。ま、最初にチェックするのはJakartaプロジェクトのサイトでしょうか。。。 | ||||||||
|
投稿日時: 2004-06-26 20:56
わざわざ「Tomcat」を再起動しなくても、
「Tomcat Manager」からアプリケーションを指定してリロードできるので、 その方法を使うことが多いです。
Googleで検索したり、問題を切り分けて考えてみたり、試行錯誤しながら進んでいます。 _________________ 『Life's rich Tapestry!!』 | ||||||||
|
投稿日時: 2004-06-27 21:44
どのようにするのですか? TOMCAT4.1を使ってます。 | ||||||||
|
投稿日時: 2004-06-27 22:09
ぼくは5.0.18を使っているので4.1はうろ覚えなのですが、 http://localhost:8080(Tomcatのデフォルトのトップページ)にアクセスしたときに、 猫の画像の下に、「Administration」という欄があって、 その欄の中に、「Tomcat Manager」というリンクがあります。 管理者認証の後に、Tomcatがデプロイしているアプリケーションの一覧が出てくるので、 そこで、再起動したいアプリケーションを「Reload」すれば、再起動されます。 4.1でもあったような気はしますけれども…。 _________________ 『Life's rich Tapestry!!』 | ||||||||
|
投稿日時: 2004-06-27 23:42
Cドライブに直接おいてる場合はどのようにすればよいのでしょうか?
URLはhttp://localhost:8080/bbs/Servlet で、C:\bbsa\WEB-INF\classes\bbs内にclassをおいてます。 | ||||||||
|
投稿日時: 2004-06-28 00:47
Servlet仕様では、Webアプリケーションの実行中に、新しく差し替えられたクラスファイル(*.jarも含む)を自動読込する仕組みのサポートが義務付けられています。
自動読込を検知するタイミングの取り方は、Servletコンテナを実装するベンダー側に任せられています。 実際には、タイマー処理を使ってリソース更新を検知するコンテナがほとんどのようですね。 なお、JSPファイル(*.jsp)の更新検知については、クラスファイルとは別に扱っていますので、注意してください。 | ||||||||
|
投稿日時: 2004-06-28 22:17
遅い返事でごめんなさいです。
hiroさんの状況をよく掴めていないのですが、 「Tomcat Maneger」の画面は開けているのでしょうか? | ||||||||
