Java 7 on Lion

ぼちぼち、Java 7に移行しなければと思い、手持ちの環境たちをJava 7に移行し始めました。そんで、Mac OS X (Lion) でどうするのかを調べたら、OpenJDKを入れればよいらしい。バイナリはここからOpenJDK-OSX-1.7-x64-u-jdk-*.dmgを入手できる。これを普通にインストールして、あとは.bash_profileに

export JAVA_HOME=/Library/Java/JavaVirtualMachines/1.7.0u.jdk/Contents/Home

を記述しておけば良い。確認は

$ java -version
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
openjdk version "1.7.0-u6-b01"
OpenJDK Runtime Environment (build 1.7.0-u6-b01-20120314)
OpenJDK 64-Bit Server VM (build 23.0-b16, mixed mode)

という感じ。

Fessの予定

次はFess 7の予定ですが、以下のことを考えています。

  • Java 7
  • Servlet 3.0&JSP 2.2
  • 管理API
  • お気に入り機能

Java6も今年でEOLになるので、FessのオープンソースとしてサポートするバージョンもJava 7にします。管理APIの都合でServlet 3.0以上にしようと思います。つまり、Tomcat 7以上が必要になります。まぁ、既にTomcat 7ベースで動いているので、その辺は問題ない気がするけど。そんな感じで考えて入るものの、結構作業量がある気がしてます。5月中にはベータを作るかもしれませんが、夏前くらいまでにはFess 7をリリースしておきたいところです。
 

bdb_equality_candidates: (uid) not indexedみたいなエラー

Ubuntu 11.10でユーザー管理をLDAPにして利用しているのだけど、/var/log/syslogを見てみたら以下のようなLDAP関連のエラーが出ていた。

Apr 6 05:23:56 server slapd[1298]: <= bdb_equality_candidates: (uid) not indexed
Apr 6 05:23:57 server slapd[1298]: <= bdb_equality_candidates: (uidNumber) not indexed
Apr 6 05:23:57 server slapd[1298]: <= bdb_equality_candidates: (uidNumber) not indexed

どうやら、インデックスが必要みたい。/etc/ldap/slapd.d以下からolcDbIndexを探して、uidとuidNumberとか追加しておけば良いみたい。

$ sudo find /etc/ldap/slapd.d/ -type f| sudo xargs grep olcDbIndex

見つけたら、まず、

$ sudo /etc/init.d/slapd stop

で停止して、対象ファイルを

olcDbIndex: uid,uidNumber,objectClass eq

という感じで編集する。そんで、openldapユーザーで以下を実行する。

$ sudo su openldap -c /usr/sbin/slapindex

そして、slapdを起動する。

$ sudo /etc/init.d/slapd stop