今はAdobe Experience ManagerのバックエンドをJavaでいろいろ触りたいという人以外には知られていないような気もする、Java Content Repositoryという、世間の大多数にとってのほぼ過去の遺物。その参照実装。
AEMのバックエンドが新しい方(Apache Jackrabbit Oak)に変更されて以来、こちらはメンテナンスリリースが細々と続いているだけっぼく見えますが。けれどその基礎たる「Java Content Repositoryの参照実装」というのは相変わらずこちらなのですよ。
データのバージョン管理機能をAPI標準で備えていて、わざわざサーバーを別に立てなくてもembedモードで扱える、つまり自分では面倒くさすぎて絶対実装したくないコンテンツバージョン管理機能を、maven centralからjarを引っ張ってくるだけで自分のプログラムに組み込める。なんと言ってもこれが最大の魅力。
実際に組み込んでみると、これJCR仕様自体人間が扱うにはオーバースペック過ぎ(重複表現)じゃね?となるところもご愛敬。
気が向いたら記事書くかも。