Java のライブラリをいくつか公開しました
最近、仕事で書いた Java のライブラリをいくつか整理して GitHub で公開しましたので紹介します。
Method Cache Interceptor
https://github.com/m3dev/method-cache-interceptor
AOP でメソッドの戻り値をキャッシュして、次の呼び出しからはもしキャッシュがあればメソッドを実行せずキャッシュを返すというインタセプタです。
前々から Memcached 専用で使っていたものを他のキャッシュストアにも対応できるよう書き換えました。Redis バージョンも必要になれば書こうかと思っています。
アノテーションだけでも JSR107(JCache)に準拠しようかと一瞬検討しましたが @CacheResult 以外に対応するつもりがないので、結局そうはしませんでした。
Memcached Client Facade
https://github.com/m3dev/memcached-client-facade
特定の Memcached クライアントとの結合度をさげるための Facade です。「実際問題 get/set/delete くらいしか使わないケース多いよね」という割り切りの API になっています。
2012 年現在だと Java の Memcached クライアントでは Spymemcached と Xmemcached あたりが人気かなというところで好きな方を使えばいいのですが、どうしても迷うならとりあえずこの Facade を使っておくというのもいいかもしれません。
ところで Memcached サーバは 1.6.x の状況を見ていると今後はどうなるのかなぁと思ったりしています。
MultiLane
https://github.com/m3dev/multilane
手軽に Fork/Join フレームワークを使ったアグリゲータを書けるライブラリです。Java7 環境でなくても動作します。
元々想定していたユースケースは、サイトのトップページのようないろんな情報を引っ張ってくる処理でのパフォーマンス改善ですが、Web サービス以外のアプリケーションでも使えるようになっています。
以上です。気になったものがあればぜひ使ってみてください。
あと、使っていただいた方は何らかのフィードバックをいただけるとうれしいです。