- - PR -
Javaアプリの自動起動・停止の方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-09-05 14:36
こんにちは。
ServerSocketを使用してクライアントからデータを収集し、 DBにデータを蓄積させるというようなアプリを作成しました。 このアプリはWin2kServer上で java -jar xxxx.jar とコマンドを叩いて起動させているのですが ユーザから「いちいちコマンドを叩くのは面倒なので自動起動・自動停止できないか?」 といわれてどうしようかなと考えております。 自動起動だけならいくらでも対応の方法は思いつきますが、自動停止については 自分の知識不足でして、、、 アドバイスなどいただけたらすごく助かります。 開発環境は OS:Win2KServer JDK:1.4.1_03 | ||||
|
投稿日時: 2003-09-05 14:44
どうもニシトミです。
Threadでタイマーでも起こして System.exit()でどうでしょう。 こんな簡単にはいかないのかなぁ ---編集--- すみません自動と書かれてたので ついタイマーと書いてしまいましたけど 特にタイマーなんかいらないですね [ メッセージ編集済み 編集者: ニシトミ 編集日時 2003-09-05 15:03 ] | ||||
|
投稿日時: 2003-09-05 16:59
停止すべきタイミングはいつになるんですか? わざわざ停止しなければならないという ことは、常駐型のプログラムだと思うので、なんらかのきっかけが必要だと思うのですが。 | ||||
|
投稿日時: 2003-09-05 17:32
ニシトミさん、ukさん、返答ありがとうございます。
停止すべきタイミングについてですが。 基本的にマシンの電源を落とす(再起動など)時です。 自動と書きましたが、場合によってはオペレータが手動で操作することも 想定されると思っています。 ここで書きながら思いつきました、Windowsサービスに登録すれば解決しそうな 気がしないでもないです。 TomcatなどはNTサービス化できていますし。ちょっと調べてみます。 | ||||
|
投稿日時: 2003-09-05 17:46
>
>基本的にマシンの電源を落とす(再起動など)時です。 >自動と書きましたが、場合によってはオペレータが手動で操作することも >想定されると思っています。 そうですか、なるほど NTサービス化ならば、JavaWebStartを調査してみてはいかがでしょうか 実際に使ったことが無いので、なんともいえないのですが 的はずしてたら申し訳ないです。 | ||||
|
投稿日時: 2003-09-05 17:47
どうもでし。
自動起動は、手軽にやるなら、ウィンドウのタスクスケジューラでも使えば大丈夫。 「Java -xxxxx」のコマンドをテキストにして「xxx.bat」ファイルで保存。 デスクトップにでも置いといて、ダブルクリックすれば起動するようにしておきます。 んで、それをスタートアップに引きずっていけば、Windowsログオン時に勝手に起動 しますし、タスクスケジュータで「毎週、火曜の午後2時」とか設定しとけば、その 通りに起動します。 GUIで設定できるんで、いじくりまわしてみればわかるかと思います。 (わからんかったら聞いてください) んで、自動停止ってのはどういうことだろ? そのプログラムって、起動するとずっと立ち上がりっぱなしなんですか? もしそうだとすると、終了方法は方式として3種類です。 ・ある時間が来ると、そいつを外部から強制終了させる単発プログラムが起動する。 ・そのプログラムを改造して、ある時刻を過ぎていたら終了するようにする。 ・気にせずにWindowsごとシャットダウンする。 サービスに登録しても、内部的には同じことになりまふ。 | ||||
|
投稿日時: 2003-09-09 11:53
どうもSelfishです。
皆さんアドバイスありがとうございました。 Windowsサービスに登録する方法を選択して一応上手くいきました。 JavaService http://www.alexandriasc.com/software/JavaService/index.html というものを使ってみました。なかなか便利です。 サービスへの登録・削除も簡単なコマンドでできますし アプリへの開始・終了のパラメータを渡すこともできます。 今のところ不具合なども無いようですのでこれで様子をみてみます。 皆さんありがとうございました。 |
1