- PR -

TOMCATについて

投稿者投稿内容
hiro
会議室デビュー日: 2004/06/17
投稿数: 13
投稿日時: 2004-06-26 01:16
初歩的な質問なのですが、コンパイルし直すとTOMCATを再起動しなければ新しいクラスが繁栄されないのですが、それは当然のことなのでしょうか?
JSPの変更は即座に反映されているのですが。。。
コンパイルするごとに再起動すると、エラーの修正をしてる時などはかなり時間がかかってしまします。
皆さんはどのようにしてるのでしょうか?
また、コンパイルはできるがエラーが出る場合、どのような対処をしているのですか?
私の場合はエラーの内容をヤフーで検索し、よく似た症例を参考にいているという、かなり能率のわるいやり方をしています。。
fofofo
会議室デビュー日: 2003/01/06
投稿数: 8
お住まい・勤務地: 大阪
投稿日時: 2004-06-26 12:47
こんにちわ。

引用:

コンパイルし直すとTOMCATを再起動しなければ新しいクラスが繁栄されないのですが、それは当然のことなのでしょうか?



一応当然なんじゃないでしょうか?新しくコンパイルしたコードをコンテナが察知するには、現在ロードされている内容とクラスファイルの内容とを随時比較しなければならないと思いますので、パフォーマンス面で多少不利になります。
本番環境で稼動させる場合は、server.xml内のcontextタグ->reloadable属性の値は有効にしないのがセオリーだと思います。もちろん、開発の時は別ですけどね。

引用:

また、コンパイルはできるがエラーが出る場合、どのような対処をしているのですか?



ん〜。ログとかに出ているスタックトレースなどから原因を突き止めて解決してますが…自分が作ったプログラム内でエラーが起きているのか、コンテナの設定やバグでエラーが起きているのかによってだいぶ変わってくると思います。
コンテナの設定やバグ等が考えられる場合は、私もhiroさんと同じように検索エンジンを使ったりMLに頼ったりすることが多いですね。ま、最初にチェックするのはJakartaプロジェクトのサイトでしょうか。。。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-06-26 20:56
わざわざ「Tomcat」を再起動しなくても、
「Tomcat Manager」からアプリケーションを指定してリロードできるので、
その方法を使うことが多いです。

引用:

また、コンパイルはできるがエラーが出る場合、どのような対処をしているのですか?


Googleで検索したり、問題を切り分けて考えてみたり、試行錯誤しながら進んでいます。

_________________
『Life's rich Tapestry!!』
hiro
会議室デビュー日: 2004/06/17
投稿数: 13
投稿日時: 2004-06-27 21:44
引用:

わざわざ「Tomcat」を再起動しなくても、
「Tomcat Manager」からアプリケーションを指定してリロードできるので、
その方法を使うことが多いです。



どのようにするのですか?
TOMCAT4.1を使ってます。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-06-27 22:09
引用:

hiroさんの書き込み (2004-06-27 21:44) より:
引用:

わざわざ「Tomcat」を再起動しなくても、
「Tomcat Manager」からアプリケーションを指定してリロードできるので、
その方法を使うことが多いです。



どのようにするのですか?
TOMCAT4.1を使ってます。



ぼくは5.0.18を使っているので4.1はうろ覚えなのですが、
 http://localhost:8080(Tomcatのデフォルトのトップページ)にアクセスしたときに、
猫の画像の下に、「Administration」という欄があって、
その欄の中に、「Tomcat Manager」というリンクがあります。

管理者認証の後に、Tomcatがデプロイしているアプリケーションの一覧が出てくるので、
そこで、再起動したいアプリケーションを「Reload」すれば、再起動されます。

4.1でもあったような気はしますけれども…。

_________________
『Life's rich Tapestry!!』
hiro
会議室デビュー日: 2004/06/17
投稿数: 13
投稿日時: 2004-06-27 23:42
Cドライブに直接おいてる場合はどのようにすればよいのでしょうか?
URLはhttp://localhost:8080/bbs/Servlet
で、C:\bbsa\WEB-INF\classes\bbs内にclassをおいてます。
おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2004-06-28 00:47
Servlet仕様では、Webアプリケーションの実行中に、新しく差し替えられたクラスファイル(*.jarも含む)を自動読込する仕組みのサポートが義務付けられています。

自動読込を検知するタイミングの取り方は、Servletコンテナを実装するベンダー側に任せられています。
実際には、タイマー処理を使ってリソース更新を検知するコンテナがほとんどのようですね。

なお、JSPファイル(*.jsp)の更新検知については、クラスファイルとは別に扱っていますので、注意してください。
こくぼ
大ベテラン
会議室デビュー日: 2003/08/11
投稿数: 229
お住まい・勤務地: 国境の南、太陽の西。
投稿日時: 2004-06-28 22:17
遅い返事でごめんなさいです。

引用:

hiroさんの書き込み (2004-06-27 23:42) より:
Cドライブに直接おいてる場合はどのようにすればよいのでしょうか?
URLはhttp://localhost:8080/bbs/Servlet
で、C:bbsaWEB-INFclassesbbs内にclassをおいてます。



hiroさんの状況をよく掴めていないのですが、
「Tomcat Maneger」の画面は開けているのでしょうか?

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