その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

java-mysql-namelocker が出ていた

そういえば java-mysql-namelocker が出ていました.Maven Central にもリリースされています.

http://search.maven.org/#artifactdetails%7Cnet.moznion%7Cmysql-namelocker%7C1.0.0%7Cjar


Perlには Mysql::NameLocker というモジュールが古くからあり,このJavaのパッケージはその移植版になります.

何をするパッケージかと言うと,MySQLGET_LOCK() を用いてコネクションと紐付いた名前付きロックを取得し,try-with-resources のスコープを抜けた時に自動的に RELEASE_LOCK() を発行してロックを解除するというシンプルなパッケージとなっています.或るコネクションがロックを取得している間は,他のコネクションは同じ名前でそのロックを取得できない (AlreadyLockedException が返ってくる) ので,コネクションと名前に応じた排他処理をお手軽に実現することが可能となります.

AutoCloseable を implement すると try-with-resources 文を使ったリソースの自動リリースを簡単に実現できて最高ですね!

Have a nice lock!


さて一番難しかったのはJavaのコードでもなんでもなくて,pom.xml の記述と Maven Central へのアップロードでした……
が,これもtagomorisさんのブログ記事とtokuhiromさんのブログ記事を見ながら頑張ったら出来たので,まあなんとかなるな! という感じです.本当に助かりました.

maven central にリリースしてみた - blog.64p.org
はじめてのmaven central 公開 - たごもりすメモ


余談ですが,OS X環境でgpg鍵作る際は brew install gpg2 してから gpg2 --gen-key すると簡単で良かったです.