2009-05-18 10 views
6

生産システムでのAspectJの読み込み時間の熟練者(主に興味深いTomcat関連のアクティビティ)を経験している人はいますか?私はメモリのフットプリントとCPUのオーバーヘッドについて少し心配しています。生産システムでのAspectJのロードタイム織り

+0

署名された瓶とLTWの最初の血液。 http://stackoverflow.com/questions/4122930/aspectj-load-time-weaving-for-signed-jars – FoxyBOA

答えて

3

私は、SpringのAOPプロキシ生成のために本番システムで多く使用するcglibのような他のAOP関連ライブラリとは大きく異なる影響を及ぼすとは思いません。パフォーマンスは問題ありませんが、(合成クラスが多数生成されているため)permgenプールにメモリフットプリントが増えました。これは慎重に管理しなければ問題になる可能性があります。

+3

AspectJの2セントです。バージョン1.6.4(LTWオプション付き)は、tomcatアプリケーション用に最初は約60〜80MbsのRAMを食べます。バージョン1.6.5では、メモリフットプリントを減らすための "typeDemotion"オプションがあります。詳細はこちら - http://andrewclement.blogspot.com/2009/04/aspectj-load-time-weaving-and-memory.html – FoxyBOA

1

私は、aspectjのコンパイル時に織り成すことをお勧めします。あなたはantやmavenでビルドしたり、EclipseでAJDTプラグインを使って開発したりできます。

ロードタイム織りは、tomcatで動作します。私は生産システムを数ヶ月稼働させていましたが、コンパイル時に切り替えて構成とメンテナンスを非常に簡単にしました。

+0

コンパイル時に切り替えることを決めた理由を尋ねることはできますか?メモリフットプリント/ CPUパフォーマンスに関する問題はありますか? – FoxyBOA

+0

としてskaffmanは既にメモリ使用量が少し増えたと言っていますが、CPU使用率には何の問題もありませんでした –