- PR -

Tomcat4.0.1をサービス化したい

投稿者投稿内容
かわっち
会議室デビュー日: 2001/10/25
投稿数: 17
お住まい・勤務地: 大阪
投稿日時: 2001-10-25 16:59
はじめまして。

最近、Tomcat4.0.1をインストールしましたが、
Windows2000のサービスに登録したいのです。

Tomcat3.2.*では、jk_nt_serviceを利用するわけですが、
Configuration Fileとして指定する
wrapper.propertiesがTomcat4.0.1では存在しません。

別のファイルで指定するとうまく行くのでしょうか?

内部のことがよくわからなくて申し訳ありませんが、
ご存知の方がいらっしゃいましたらご教授いただけると助かります。
おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2001-10-25 17:51
Jakartaより配布されているバイナリ・パッケージには
 ・ jakarta-tomcat-4.0.1.exe
 ・ jakarta-tomcat-4.0.1.zip
 ・ jakarta-tomcat-4.0.1.tar.gz
(Tomcat 4.0.1 の場合。)
の3種類の形式で提供されていますが、
Windows版では、jakarta-tomcat-4.0.1.exe でセットアップすることをお薦めします。
こちらですと、WindowsNT/2000向けのNTサービス登録を自動的に行ってくれます。

[補足]
Tomcat 4 では、JavaService(alexandriasc.com)というアプリケーションを使って、NTサービス化を実現しています。
$CATALINA_HOME/bin/tomcat.exe というコマンドが、それに相当します。
NTサービス登録時に、wrapper.propertiesのような、外部のファイルをまったく使用しません。

[関連リンク]
http://www.alexandriasc.com/software/JavaService/index.html
かわっち
会議室デビュー日: 2001/10/25
投稿数: 17
お住まい・勤務地: 大阪
投稿日時: 2001-10-26 11:19
謎の白覆面さん、ありがとうございます。

jakarta-tomcat-4.0.1.exeでセットアップすることでサービス化出来ました。

そこで、一つ確認したいことがあります。

私の環境では、Apache1.3.22とTomcat4.0.1を連携しています。
以前のApache + Tomcat3.2.1では、mod_jkモジュールを読み込むため、
Apacheの起動前にTomcatが起動されている必要がありましたよね。

現在は、ApacheもTomcatもサービス化出来たので、
ApacheとTomcatの起動順序を制御していません。

Tomcat4.0から(?)連携方法が変わって、
Apache起動時にTomcatのディレクトリを参照しなくなったので、
起動順序は全く気にしなくていいのでしょうか?
おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2001-10-26 14:45
現在、Tomcat 4.0.1 では、
 ・ mod_jk
 ・ mod_webapp
(現状は、安定して動作する mod_jk の利用が推奨されている。)
の2コネクタをサポートしますが、それらを利用したときのサーバの起動順は
[ Tomcat Server ] -> [ 外部 Web Server ]
でないといけないはずです。
その点は、Tomcat 3.2.x と、特に変わりないですね。

実際に、これを検証したとき、
上記の順番でないと、Tomcat 4 が立ち上がりませんでした。
かわっち
会議室デビュー日: 2001/10/25
投稿数: 17
お住まい・勤務地: 大阪
投稿日時: 2001-10-26 17:37
こちらでも検証してみたところ、
Apache -> Tomcatでは、サンプルが動作しないことを確認しました。

質問前にも検証はしてみたのですが、
ブラウザのキャッシュが表示されていて勘違いをしていました。
お手数をお掛けしました。

ただ、こうなるとApacheもTomcatもサービス化してしまうと
起動順序が制御出来ないのでまずいのでは?
(少し調べてみたのですが、サービスの起動順序を可能とする情報が見当たりませんでした)

Commandでの起動をスタートアップに登録する方法では
ログオンしないといけないので回避策にもならないし・・・。
かわっち
会議室デビュー日: 2001/10/25
投稿数: 17
お住まい・勤務地: 大阪
投稿日時: 2001-10-26 17:59
方法がありました!

http://www.tooljp.com/qa/E455819735541E93492569BE00119483.html
サービスの依存関係を設定すればいいんですね。

レジストリから目的のキーを見つけ、
早速修正と思いきや、
値がバイナリデータ・・・。
最近バイナリデータすら見ていない私にはちょっと時間がかかりそうです。。
とりあえずバイナリエディタをダウンロードせねば。
tasuku
常連さん
会議室デビュー日: 2001/08/11
投稿数: 28
投稿日時: 2001-10-28 19:47
依存関係は、依存するサービスの名前を列挙するもので、
バイナリデータではありません。
RegEditではなく、RegEdt32を使って編集すれば、OKです。
かわっち
会議室デビュー日: 2001/10/25
投稿数: 17
お住まい・勤務地: 大阪
投稿日時: 2001-11-06 10:24
ちょっと仕事から離れていたので返信が遅くなってしまいました。

tasukuさん、ありがとうございます。
RegEdt32で編集すれば簡単に依存関係を設定することが出来ました。

これでTomcat、Apacheの順でサービスが開始され、問題解決!と思いきや…
サンプルが動作してくれません。

手動でTomcatのサービスを開始し、起動後、Apacheのサービスを開始すると
サンプルが正常に動作します。

しかし、Tomcatのサービスが起動していない状態で、Apacheのサービスを開始し、
依存関係によってTomcatのサービスが開始された場合は、うまくいかないのです。

どなたかこの方法で正常に動作している方いますか?

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