タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

proxyとjavaに関するtaoyagのブックマーク (3)

  • Oracle JDBCドライバにオブジェクトの自動クローズ処理を追加する

    はじめに ReflectionパッケージのProxyを利用すると、指定したインターフェイスに対して、そのインターフェイスを実装したクラスとインスタンスを動的に作ることができます。 稿では、Oracle JDBCドライバの制約をProxyを利用して回避する方法を示すことで、Proxyの具体的な利用方法を説明します。 Oracle JDBCドライバはJ2SEのAPI規定と異なり、GCによるConnectionやStatementの自動クローズを行いません。そのため、これらのJDBCオブジェクトを自動的にクローズする他のJDBC実装用のコードを流用するとリソースリークの原因となります。これを回避するには、アプリケーションがすべてのStatementなどのオブジェクトをクローズするか、またはミドルウェアなどでアプリケーションが作成したすべてのJDBCオブジェクトを保持しておき、なんらかのタイミン

    Oracle JDBCドライバにオブジェクトの自動クローズ処理を追加する
  • 互いに関連のないオブジェクトを1つのインターフェースにまとめて共通的にアクセス可能にするライブラリを作ってみた - 矢野勉のはてな日記

    Javaもともとやりたかったことは、 あるオブジェクト(インスタンス)がすでに手元にある そのオブジェクトのクラスは何らかの理由で継承不能 そのオブジェクトの一部メソッドをオーバーライドしたい そのオブジェクトにメソッドを1つ足したいという、JavaScriptならすぐにできちゃうことがしたかった。で、これって、オーバーライドしたいメソッドと、追加したいメソッドだけを持ったあるオブジェクトAを用意して、メソッド呼び出し時に該当メソッドの時だけAに委譲しちゃえばできるよね、と思った。他のメソッドはすべてもとのオブジェクトに委譲する。 で委譲コードを書いてみても、すんごいめんどくさい。たくさんのメソッドを定義して、ただ委譲するだけのコードをかかないといけない。でCGLibあたりにそういうのがあるだろうと思って見てみたのですが、どうもないみたい。なんかありがちな要望だと思ったんですが、もうちょっ

  • Java: ダイナミックプロキシ - lethevert is a programmer

    スクリプト言語の方面からは不評なJavaですが、その1つにはリフレクションが使いにくいとかいうのがあるそうです。 そういうことは、ダイナミックプロキシのことを知ってから言うのも悪くないと思うので、簡単な紹介を。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/reflection/proxy.html この機能を使えば、smalltalkの#doesNotUnderstandやrubyのmethod_missingのような機能が(インターフェースを宣言しなければならないという制限はあるものの)実現できます。 たとえば、次のようにすることで、インターフェースを引数に渡すと、呼び出されたメソッドのメソッド名を標準出力に出力するだけのオブジェクトを生成して返します。この例では、java.sql.Connectionのオブジェクトを作って、適当にメソ

    Java: ダイナミックプロキシ - lethevert is a programmer
  • 1