ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

サービスプロバイダー(sun.misc.Service)

2009-04-14 23:07:10 | PG(Java)

JDK1.6のDriverManagerのJavadocを見ていたら、「サービスプロバイダメカニズムをサポートするように拡張された」と書いてあった。
サービスプロバイダーって何じゃらほい?と思って調べてみた

DriverManagerがJDK1.6(JDBC4.0)からサポートした仕組みと言ったら、jarファイルの中にクラス名を書いたファイルを置いておいて、それを読み込むもの。
サービスプロバイダーというのは、その仕組み自体のことらしい。
JDBCドライバーの具象クラス名を書いたファイル名が「java.sql.Driver」で、インターフェース名そのものだった(せめて拡張子を何か付けないのかと疑問に思った(苦笑))のは、このサービスプロバイダーの仕様に則ったものだったわけだ。
色々なクラスでも汎用的に使えるようにする為には、確かにクラス名そのものにしちゃうのが一番楽かも。(実装上も、ファイル名を考える手間も)

DriverManagerがサービスプロバイダーを使うようになったのがJDK1.6からなので
サービスプロバイダー自体も新しい仕組みなのかと思ったら、少なくともJDK1.3の頃からある由緒正しい仕組みだったらしい^^;(JDK1.3のJARのJavadocに載ってた)
そんなの全然知らなかったなー(汗)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする