2008-01-01から1年間の記事一覧
(2008/5/24 追記: 本物のplist読み込みについては真・plist形式のxml読み込み用digester-rules(およびクラス) - terazzoの日記を参照)設定ファイルをXMLで書く事って多いんだけど、javaでXML使う時って型安全や妥当性に拘りすぎて仰々しいと時々思う。かとい…
(前回からの続き)Proxyを使ってリモート呼び出しをおこなうという魂胆。ところでネットワークストリームを使ったoneway voidのリモート呼び出しは、ストリームをファイルに置き換えるだけで、メソッド呼び出しの記録/再生に使えるはず。ということでProxyを…
というのが出来そうなので書いてみた ソースコード package sample.proxycast; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; @SuppressWarnings("unchecked") public final class ProxyC…
が出来るんじゃないかと思ったけど、これは流石にかなり昔にやられてた。 ProxyでMixin - lambda {|diary| lambda { diary.succ! } }.call(hatena) 呼び出されたメソッドがどのクラス/インタフェースに載ってるのかをMethodのgetDeclaringClass()で取得出来…
インタフェース経由でのメソッド呼び出しにおいて、間にProxyを挟んでキャッシュするサンプル。 DIコンテナは不要だけど、DIコンテナを使用して粗結合にしている場合に適用が簡単という例示の為に使ってます。 ソースコード CacheおよびCacheManagerクラスに…
DI+AOPにはSeasar2を使用。 このサンプルの問題点などは後ろで。 ソースコード まずキーに対して値をキャッシュするクラスを作る(今回は単純にHashMapで) package sample.cache.cache; import java.util.HashMap; import java.util.Map; public class Cache …