はじめに ReflectionパッケージのProxyを利用すると、指定したインターフェイスに対して、そのインターフェイスを実装したクラスとインスタンスを動的に作ることができます。 本稿では、Oracle JDBCドライバの制約をProxyを利用して回避する方法を示すことで、Proxyの具体的な利用方法を説明します。 Oracle JDBCドライバはJ2SEのAPI規定と異なり、GCによるConnectionやStatementの自動クローズを行いません。そのため、これらのJDBCオブジェクトを自動的にクローズする他のJDBC実装用のコードを流用するとリソースリークの原因となります。これを回避するには、アプリケーションがすべてのStatementなどのオブジェクトをクローズするか、またはミドルウェアなどでアプリケーションが作成したすべてのJDBCオブジェクトを保持しておき、なんらかのタイミン
![Oracle JDBCドライバにオブジェクトの自動クローズ処理を追加する](https://cdn-ak-scissors.b.st-hatena.com/image/square/299fe84a9555ccf7180ff6e555c804277f53e8a9/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F151%2F151_arena.png)