2007-10-09
_ Java Service Wrapper を使って NicoCache をWindows サービスとして登録する
ニコニコ動画をローカルにキャッシュして,快適に利用できる便利ツール「NicoCache」ですが,起動するとプロンプトが開いたままになります.ま,残っていても別段気になるわけでもないですが,Windows のサービスに登録しちゃったりすると,すっきりするかな,ということでその方法.
Java アプリケーションを Windows のサービスとして利用する方法としては,JavaService や Jakarta Commons Daemon などがあるみたいですが,今回は,Java Service Wrapper を利用して,NicoCache をサービス化しようと思います.この後に書く手順は,事前に NicoCache の導入と稼動確認が取れているものとして,そこから Windows サービス化への手順を紹介します.
まず,Java Service Wrapper のサイトから,Wrapper をダウンロードします.左メニューの Binaries リンクから,wrapper-windows-x86-32-3.2.3.zip をダウンロードし,任意の場所に解凍します.解凍したフォルダを以下の src\bin 以下に下記のファイルがあります.{WRAPPER_HOME} は解凍したフォルダ.
- {WRAPPER_HOME}\src\bin\App.bat.in
- {WRAPPER_HOME}\src\bin\InstallApp-NT.bat.in
- {WRAPPER_HOME}\src\bin\UninstallApp-NT.bat.in
これらを以下のように名前を変えて,bin 以下にコピーします.
- {WRAPPER_HOME}\bin\NicoCache.bat
- {WRAPPER_HOME}\bin\InstallNicoCache-NT.bat
- {WRAPPER_HOME}\bin\UninstallNicoCache-NT.bat
次に NicoCache のフォルダにある以下のファイルJava Service Wrapper の bin 以下にコピーします.(NicoCache.bat はコピーしない)
- {WRAPPER_HOME}\bin\cache
- {WRAPPER_HOME}\bin\NicoCache.jar
- {WRAPPER_HOME}\bin\config.properties
次に,Java Service Wrapper から NicoCache を呼び出すように設定していきます.Java Service Wrapper の conf 以下に wrapper.conf があるので,こちらを編集します.
wrapper.java.mainclass
wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main
を以下に変更.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper.java.classpath
wrapper.java.classpath.1=../lib/wrapper.jar wrapper.java.classpath.2=../lib/wrappertest.jar
の下に,以下を追加
wrapper.java.classpath.3=NicoCache.jar
wrapper.app.parameter
#wrapper.app.parameter.1=
を以下に変更
wrapper.app.parameter.1=dareka.Main
Java Service Wrapper のログがデフォルトでは大きくなり続けるので,適当にローテーションさせるようにしておきます.
wrapper.logfile.maxsize
wrapper.logfile.maxsize=200k
ログファイルサイズは任意の値に変更.それなりにサイズがあればいいと思います.
wrapper.logfile.maxfiles
wrapper.logfile.maxfiles=1
ログファイルの数も任意の値で.
Windows サービスに登録するので,サービス名などの定義もします.
wrapper.ntservice.name=NicoCache wrapper.ntservice.displayname=NicoCache wrapper.ntservice.description=ニコニコ動画の動画をキャッシュして一度見た動画を二度目以降は快適に見られるようにするツールです
上記は一例ですが,名前はなんでもかまいません.
ここまで準備ができたら,一度 Java Service Wrapper 経由で NicoCache を起動してみます.
F:\tool\javasrv-wrapper\wrapper-windows-x86-32-3.2.3\bin>NicoCache.bat wrapper | --> Wrapper Started as Console wrapper | Launching a JVM... jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. jvm 1 | jvm 1 | NicoCache v0.04 jvm 1 | port=8080 jvm 1 | direct mode (no secondary proxy) jvm 1 | title=true jvm 1 | total cache size=120,266,163bytes
こんな感じで表示されればうまく起動できています.ためしにブラウザで何か動画を見てみます.今日のマイリスト登録ランキング 1 位のものでも…
jvm 1 | no cache found: sm1224062_百人の組曲『ニコニコ動画』大合奏+リアレンジ+大合唱(大砲付き).flv jvm 1 | cache completed: sm1224062_百人の組曲『ニコニコ動画』大合奏+リアレンジ+大合唱(大砲付き).flv
ここまでこれば,あとはサービスとして登録するだけ.さきほど起動した NicoCache をいったん Ctrl + C で停止します.次に InstallNicoCache-NT.bat を実行すると,サービスの一覧に NicoCache が登録されます.
F:\tool\javasrv-wrapper\wrapper-windows-x86-32-3.2.3\bin>InstallNicoCache-NT.bat
wrapper | NicoCache installed.
登録が完了したらあとはサービスを開始して,正常に動作するか確認してください.
これで,再起動してもサービスとして自動で起動してくれるので,その存在すらも忘れてしまいそうな感じです.ちなみにサービスから削除する場合は,UninstallNicoCache-NT.bat を実行すると削除されます.
http://www.smallstyle.com/20080113.html#p01
SmallStyle
OS X で NicoCache を Daemon 化
OS X で NicoCache を Daemon 化する方法