Aipoで使用しているjdbcドライバーの判別について

alkoshikawa 230views 更新:2014年3月24日
dataContext.getParentDataDomain()
          .getNode(Database.getDomainName() + "domainNode")
          .getDataSource()
          .getConnection()
          .getMetaData()

などを使うと判別できるんですが、
これだとコネクションプールからコネクションをとってきてしまいます。
そのため判別箇所が増えるとコネクションプールから取れる限界に達してしまうことがあるため、別の方法にしたほうが良いです。
CayenneのAutoAdapterのgetAdapterをpublicにしてやれば以下の方法が可能です。

      adapterName =
        ((AutoAdapter) dataContext.getParentDataDomain().getNode(
          Database.getDomainName() + "domainNode").getAdapter())
          .getAdapter()
          .getClass()
          .getName();

使用されているAdapterの実装クラスの名前が取得できます。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません