G* Advent Calendar 2011の16日目です。
皆さんTwitterアイコンのローテーションはどうしていますか?
毎日0時に手作業でアイコンをアップデートするのは大変です。もっと早く寝ないとお肌に悪いです。
そこでGroovy、Quartz、Twitter4Jを使って自動でアイコンをアップデートするようにしましょう。
Groovyはそう、あのGroovy、
QuartzはJavaでスケジューリングをするためのライブラリ、
Twitter4JはJavaからTwitter APIを呼び出すためのライブラリです。
コードは以下の通り。
CronTriggerというのはUnixのcronと似たフォーマットでスケジュールを設定できるもので、上記では毎日0時0分0秒にタスクを起動する設定になります。
# cronでは最小単位が分な気がするけどQuartzでは秒単位で設定できるみたい
twitter4j.propertiesをTimeAvatar.groovyと同じディレクトリ置いて実行すると毎日0時0分にyyyyMMdd.gifでTwitterアイコンをアップデートしてくれます。便利!
ちなみに最初はインターフェースが良い感じにスッキリしているcron4jを使ってみようと思いました。が、Maven Central Repositoryに置いてなかったのでQuartzを使いました。
あんまりGroovyっぽくないコードなのは許してください。セミコロンがないからGroovyです(`・ω・´)キリッ
明日は@nemo_kazです!
参考にした記事:
・Quartz scheduler example
http://www.mkyong.com/java/quartz-scheduler-example/
・システムアーキテクトのごった煮 – cron4jのご紹介
http://ameblo.jp/kozake/archive-201112.html