[Java] ユニットテストでコネクションプールを使う Oracle編

UCP

ユニットテストでコネクションプールを使うではTomcat JDBC Connection Poolを使って、コネクションプールを実現したけど、Oracleを使っている場合はUCP(Universal Connect Pool)を使うと比較的簡単に同様のことが実現できる。

https://docs.oracle.com/cd/E16338_01/java.112/b56283/intro.htm

UCPは以下のサイトからダウンロードできるけど、単独でダウンロードしなくても、Oracle11gのクライアントにも入っているので、それを利用してもいい。

http://www.oracle.com/technetwork/jp/database/enterprise-edition/ucp-096353-ja.html

[Java] ユニットテストでコネクションプールを使う

コネクションプール

[Java]ユニットテストでDataSourceを使うでは、自前のContextを作ってDataSourceを取得した。
通常のユニットテストであれば、これでも十分だけど、パフォーマンステストなんかでテスト対象がマルチスレッドになっている場合はコネクションプールが欲しくなる。

もちろん、アプリケーションサーバであれば、サーバ側がコネクションプールを用意してくれているので、それを使う。
サーバを介さないでコネクションプールを使う方法があるので、それをやってみよう。

[Java] ユニットテストでDataSourceを使う

DataSourceとContext

Webアプリケーションのユニットテストで、JUnitとかの実行時にDBの接続先をどこから取得するかを考えなきゃいけない時がある。

たいていのWebアプリケーションではアプリケーションサーバで設定されているDataSourceをJNDIを使って取得しているからだ。

例えば、こんな感じ。
    DataSource ds = InitialContext.doLookup("jdbc/test");

    try (Connection conn = ds.getConnection();
         PreparedStatement ps = conn.prepareStatement("SELECT name FROM Test1");
         ResultSet rs = ps.executeQuery()) {
        while (rs.next()) {
            // 何か処理...
        }
    }

[PHP] PHPのビルトインサーバでxdebugを使う

※使用したPHPのバージョンは5.6.30

ビルトインサーバ

PHPは -S オプションをつけてコマンドを実行すると、ビルトインのwebサーバが起動する。
例えば、8080ポートでカレントディレクトリをwebrootとしたい場合は以下のようにする。

$ php -S localhost:8080 -t ./

もちろん、実際の運用ではApacheとかを使うんだけど、ちょっとしたことを試したいときはとても便利だ。