SmallStyle


2007-10-09

_ Java Service Wrapper を使って NicoCache をWindows サービスとして登録する

ニコニコ動画をローカルにキャッシュして,快適に利用できる便利ツール「NicoCache」ですが,起動するとプロンプトが開いたままになります.ま,残っていても別段気になるわけでもないですが,Windows のサービスに登録しちゃったりすると,すっきりするかな,ということでその方法.

Java アプリケーションを Windows のサービスとして利用する方法としては,JavaServiceJakarta 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関連ファイルのコピー

次に 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のプロパティ

ここまでこれば,あとはサービスとして登録するだけ.さきほど起動した 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 を実行すると削除されます.

つづき: 2007-12-31
本日のツッコミ(全1件) [ツッコミを入れる]
_ TrackBack (2008-01-13 20:33)

http://www.smallstyle.com/20080113.html#p01
SmallStyle
OS X で NicoCache を Daemon 化
OS X で NicoCache を Daemon 化する方法


about me

いろいろと興味を持ったことを書いてます.ちょっとしたことは hb(@smallstyle) on Twitter で書いてます.

Archive

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|12|