« 免許の更新 | Main | GluonJで全メソッドを処理対象に »

2006.07.15

EclipseでGluonJ

 Eclipse上でGluonJを用いたプログラムの実行のテスト。

 普通に、クラスパスにgluonj.jarを加えてglueクラスを作成し、織り込み先となるアプリケーション実行時に-javaagent:./lib/gluonj.jar=test.Loggingって感じで織り込みクラスを指定するだけでサクッとロード時の織り込みができあがり。
 こういう形式にしておくと、Eclipse上でデバッグするときのみglueクラスが織り込まれ、ビルド結果のClassファイルは織り込まれていない(プレーンな)状態のものが簡単に得られるようです。

 逆に言えば、Glueクラスを織り込んだClassファイルを得ようとした場合は、Antを用いてビルドするか、エクスポートした後のクラスファイルをgluonj.jarを用いて加工するかという処理を行う必要があるってことになると思いますが。

 ちなみに、メソッドの処理時間を出力するようなアスペクトは、以下のような感じで書けました。

@Around("{ long start = System.currentTimeMillis(); $proceed($$); System.out.println((System.currentTimeMillis() - start) + `ms`); }")
Pointcut pc = Pcd.call("test.TestClass#execute()");

(青字は1行です)
 ※$porceed($$)で、本来の処理を本来の引数で実行してくれます。

【疑問点】 あるクラスのメソッドを全てPointcutの処理対象としたい場合、Pcdでどうやって指定すればいいのやら?

#ただ、アスペクトを「文字列」で定義するため、オートコンプリートが効かなかったりするなど、やや面倒かも。まぁ、その部分はアスペクトに対する考え方によるところが大きいのかもしれませんが。

|

« 免許の更新 | Main | GluonJで全メソッドを処理対象に »

Java」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference EclipseでGluonJ:

« 免許の更新 | Main | GluonJで全メソッドを処理対象に »